{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## TM test of first order and for complex media\n",
    "In the TE polarization, we have demonstrated that quadrant sorting works. However, in the TM polarization, a naive quadrant sort seems to be ineffective, specifically when any of the $\\epsilon <0$.\n",
    "\n",
    "However, since we know what the correct answer should look like, it appears that the correct sorting procedure is simple.\n",
    "1. Any real k MUST BE OF ONE SIGN ONLY (POSITIVE)\n",
    "2. pure imaginaries must be of ONE SIGN ONLY (POSITIVE)\n",
    "3. nonzero real and nonzero imaginary k must come in complex conjugate pairs (so in $k^2$ space, they correspond to two separate eigenvalues)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "## same as the analytic case but with the fft\n",
    "import numpy as np\n",
    "import sys\n",
    "sys.path.append('D:\\\\StanfordYearTwo\\\\RCWA\\\\')\n",
    "import matplotlib.pyplot as plt\n",
    "from numpy.linalg import cond\n",
    "import cmath;\n",
    "from scipy.fftpack import fft, fftfreq, fftshift, rfft\n",
    "from scipy import linalg as LA\n",
    "from numpy.linalg import solve as bslash\n",
    "from RCWA_1D_functions.grating_fft.grating_conv import *\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [],
   "source": [
    "def nonHermitianEigenSorter(eigenvalues):\n",
    "    N = len(eigenvalues);\n",
    "    sorted_indices=[];\n",
    "    sorted_eigs = [];\n",
    "    for i in range(N):\n",
    "        eig = eigenvalues[i];\n",
    "        if(np.real(eig)>0 and np.imag(eig) == 0):\n",
    "            sorted_indices.append(i); sorted_eigs.append(eig);\n",
    "        elif(np.real(eig)==0 and np.imag(eig) > 0): \n",
    "            sorted_indices.append(i); sorted_eigs.append(eig);\n",
    "        elif(np.real(eig)>0 and abs(np.imag(eig)) > 0): \n",
    "            sorted_indices.append(i); sorted_eigs.append(eig);\n",
    "    return sorted_eigs, sorted_indices;\n",
    "\n",
    "def eigenMatcher():\n",
    "    return;"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 74,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Moharam et. al Formulation for stable and efficient implementation for RCWA\n",
    "plt.close(\"all\")\n",
    "'''\n",
    "1D TM implementation of PLANAR DIFFRACTiON\n",
    "STILL NOT WORKING YET\n",
    "\n",
    "only: sign convention is exp(-ikr) (is the positive propagating wave), so loss is +  not - \n",
    "source for fourier decomps is from the paper: Formulation for stable and efficient implementation of\n",
    "the rigorous coupled-wave analysis of binary gratings by Moharam et. al\n",
    "'''\n",
    "\n",
    "L0 = 1e-6;\n",
    "e0 = 8.854e-12;\n",
    "mu0 = 4*np.pi*1e-8;\n",
    "fill_factor = 0.3; # 50% of the unit cell is the ridge material\n",
    "\n",
    "\n",
    "num_ord = 10; #INCREASING NUMBER OF ORDERS SEEMS TO CAUSE THIS THING TO FAIL, to many orders induce evanescence...particularly\n",
    "               # when there is a small fill factor\n",
    "PQ = 2*num_ord+1;\n",
    "indices = np.arange(-num_ord, num_ord+1)\n",
    "\n",
    "n_ridge = 3.48; #3.48;              # ridge\n",
    "n_groove = 1;                # groove (unit-less)\n",
    "lattice_constant = 0.7;  # SI units\n",
    "# we need to be careful about what lattice constant means\n",
    "# in the gaylord paper, lattice constant exactly means (0, L) is one unit cell\n",
    "\n",
    "\n",
    "d = 0.46;               # thickness, SI units\n",
    "\n",
    "Nx = 2*256;\n",
    "eps_r = n_groove**2*np.ones((2*Nx, 1)); #put in a lot of points in eps_r\n",
    "border = int(2*Nx*fill_factor);\n",
    "eps_r[0:border] = n_ridge**2;\n",
    "\n",
    "\n",
    "fft_fourier_array = grating_fft(eps_r);\n",
    "x = np.linspace(-lattice_constant,lattice_constant,2*Nx);\n",
    "period = lattice_constant;\n",
    "fft_reconstruct = fourier_reconstruction_general(x, period, num_ord, fft_fourier_array);\n",
    "\n",
    "fourier_array_analytic = grating_fourier_array(Nx, fill_factor, n_ridge, -n_groove);\n",
    "analytic_reconstruct = fourier_reconstruction(x, period, num_ord, n_ridge, -n_groove, fill_factor)\n",
    "\n",
    "\n",
    "plt.figure();\n",
    "plt.plot(np.abs(fft_fourier_array[Nx-20:Nx+20]), linewidth=2)\n",
    "plt.plot(np.abs(fourier_array_analytic[Nx-20:Nx+20]));\n",
    "plt.legend(('fft', 'analytic'))\n",
    "plt.show()\n",
    "\n",
    "plt.figure();\n",
    "plt.plot(x,fft_reconstruct)\n",
    "plt.plot(x,analytic_reconstruct);\n",
    "plt.legend(['fft', 'analytic'])\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 75,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(21, 21)\n",
      "(21, 21)\n"
     ]
    }
   ],
   "source": [
    "\n",
    "##construct convolution matrix\n",
    "E = np.zeros((2 * num_ord + 1, 2 * num_ord + 1)); E = E.astype('complex')\n",
    "p0 = Nx; #int(Nx/2);\n",
    "p_index = np.arange(-num_ord, num_ord + 1);\n",
    "q_index = np.arange(-num_ord, num_ord + 1);\n",
    "fourier_array = fft_fourier_array;#fourier_array_analytic;\n",
    "detected_pffts = np.zeros_like(E);\n",
    "for prow in range(2 * num_ord + 1):\n",
    "    # first term locates z plane, 2nd locates y coumn, prow locates x\n",
    "    row_index = p_index[prow];\n",
    "    for pcol in range(2 * num_ord + 1):\n",
    "        pfft = p_index[prow] - p_index[pcol];\n",
    "        detected_pffts[prow, pcol] = pfft;\n",
    "        E[prow, pcol] = fourier_array[p0 + pfft];  # fill conv matrix from top left to top right\n",
    "\n",
    "## FFT of 1/e;\n",
    "inv_fft_fourier_array = grating_fft(1/eps_r);\n",
    "##construct convolution matrix\n",
    "E_conv_inv = np.zeros((2 * num_ord + 1, 2 * num_ord + 1));\n",
    "E_conv_inv = E_conv_inv.astype('complex')\n",
    "p0 = Nx;\n",
    "p_index = np.arange(-num_ord, num_ord + 1);\n",
    "for prow in range(2 * num_ord + 1):\n",
    "    # first term locates z plane, 2nd locates y coumn, prow locates x\n",
    "    for pcol in range(2 * num_ord + 1):\n",
    "        pfft = p_index[prow] - p_index[pcol];\n",
    "        E_conv_inv[prow, pcol] = inv_fft_fourier_array[p0 + pfft];  # fill conv matrix from top left to top right\n",
    "\n",
    "print(E_conv_inv.shape);\n",
    "print(E.shape)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Observations to note\n",
    "We can see that floating point precision can completely alter the sign when we take a square root of the beigenvals."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 76,
   "metadata": {
    "scrolled": false
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 0.5\n",
      "203.6312643598297\n",
      "[2, 3, 6, 7, 14, 17, 18, 19, 20, 21, 22, 23, 24, 25, 28, 30, 32, 33, 39, 40, 41]\n",
      "21\n",
      "[-6.42835213+0.j         -6.35149951-0.j          6.42835213+0.j\n",
      "  6.35149951-0.j         -5.45477302-0.j         -5.3951494 -0.j\n",
      "  5.45477302-0.j          5.3951494 +0.j         -0.        -3.27373193j\n",
      " -4.62534865-0.j         -4.49939942+0.j         -4.34994507-0.j\n",
      " -4.28504541+0.j         -3.82838859+0.j         -0.        +3.27373193j\n",
      " -3.51195371-0.j         -0.        -2.57434964j  4.62534865+0.j\n",
      "  4.49939942+0.j          4.34994507-0.j          4.28504541+0.j\n",
      "  0.        +2.57434964j  3.82838859-0.j          3.51195371+0.j\n",
      "  3.04145317+0.j          2.87186777-0.j         -3.04145317-0.j\n",
      " -2.87186777+0.j          2.28394739+0.j         -2.28394739-0.j\n",
      "  1.86633405-0.j         -1.86633405-0.j          1.14548698+0.j\n",
      "  1.02127621+0.j          0.        -1.18779096j -0.        -0.83216061j\n",
      " -0.        -0.73070204j -1.14548698-0.j         -1.02127621-0.j\n",
      "  0.        +1.18779096j  0.        +0.83216061j  0.        +0.73070204j]\n",
      "[6.42835213e+00-3.36639875e-16j 6.35149951e+00-2.52859089e-16j\n",
      " 5.45477302e+00+1.53616286e-16j 5.39514940e+00+2.02070020e-16j\n",
      " 1.80958861e-16+3.27373193e+00j 1.33932901e-16-2.57434964e+00j\n",
      " 4.62534865e+00+5.93555617e-16j 4.49939942e+00+3.62162951e-16j\n",
      " 4.34994507e+00-3.55384440e-16j 4.28504541e+00+1.05251864e-16j\n",
      " 3.82838859e+00-6.89981427e-17j 3.51195371e+00+2.05345022e-16j\n",
      " 3.04145317e+00-1.46880617e-16j 2.87186777e+00-4.24559710e-17j\n",
      " 2.28394739e+00-2.62173719e-16j 1.86633405e+00-4.29299770e-16j\n",
      " 1.14548698e+00+5.22369800e-16j 1.02127621e+00+1.10545750e-15j\n",
      " 5.72977655e-16+1.18779096e+00j 9.54426883e-16+8.32160607e-01j\n",
      " 4.42178319e-16-7.30702043e-01j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 0.5620689655172414\n",
      "4910.64429150222\n",
      "[0, 1, 4, 5, 8, 9, 10, 11, 13, 14, 15, 16, 17, 23, 28, 29, 30, 31, 38, 39, 40]\n",
      "21\n",
      "[ 7.2450136 +0.j          7.15887987+0.j         -7.2450136 +0.j\n",
      " -7.15887987+0.j          6.15387199-0.j          6.09059824-0.j\n",
      " -6.15387199+0.j         -6.09059824-0.j          5.25104805-0.j\n",
      "  5.11500633-0.j          5.09988557-0.j          4.96540052-0.j\n",
      " -0.        -3.21998418j  4.34318663+0.j          4.06444862-0.j\n",
      "  0.        +3.21998418j  3.65102637+0.j          3.28407207+0.j\n",
      " -5.25104805+0.j         -5.11500633-0.j         -5.09988557+0.j\n",
      " -4.96540052+0.j         -0.        -2.30499115j  0.        +2.30499115j\n",
      " -4.34318663+0.j         -4.06444862+0.j         -3.65102637+0.j\n",
      " -3.28407207-0.j          2.65234073-0.j          2.29072867-0.j\n",
      "  1.72597728-0.j          1.42211211-0.j         -2.65234073-0.j\n",
      " -2.29072867+0.j         -1.72597728+0.j         -1.42211211+0.j\n",
      "  0.        -1.05650468j  0.        -0.71588339j  0.        +0.71588339j\n",
      " -0.        +1.05650468j  0.14978132-0.j         -0.14978132+0.j        ]\n",
      "[7.24501360e+00+1.28836059e-16j 7.15887987e+00-1.58183119e-17j\n",
      " 6.15387199e+00+3.00543046e-16j 6.09059824e+00+3.55986992e-16j\n",
      " 6.79866951e-17+3.21998418e+00j 5.25104805e+00-7.13961691e-17j\n",
      " 4.96540052e+00+2.50024248e-17j 5.11500633e+00+6.77943541e-16j\n",
      " 5.09988557e+00+6.33876882e-16j 4.34318663e+00+1.45697030e-16j\n",
      " 4.06444862e+00+1.34930775e-16j 1.61953972e-16-2.30499115e+00j\n",
      " 3.65102637e+00+3.82915202e-17j 3.28407207e+00+1.12698820e-17j\n",
      " 2.65234073e+00+3.45605171e-16j 2.29072867e+00+9.24529864e-17j\n",
      " 1.72597728e+00+1.90802523e-15j 1.42211211e+00+3.77996876e-16j\n",
      " 9.75460207e-17+7.15883392e-01j 4.70702376e-16-1.05650468e+00j\n",
      " 1.49781316e-01-3.28354235e-15j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 0.6241379310344828\n",
      "534.7159714053164\n",
      "[2, 3, 6, 7, 14, 15, 16, 17, 18, 20, 21, 22, 23, 26, 27, 28, 34, 35, 36, 37, 39]\n",
      "21\n",
      "[-8.0599031 +0.j         -7.9644919 +0.j          8.0599031 -0.j\n",
      "  7.9644919 -0.j         -6.85088037+0.j         -6.78444251+0.j\n",
      "  6.85088037+0.j          6.78444251-0.j         -5.93982167-0.j\n",
      " -5.78451634+0.j         -5.73009899+0.j         -5.60900525-0.j\n",
      " -4.85309874-0.j         -4.64042508-0.j         -0.        +3.15953971j\n",
      "  5.93982167+0.j          5.78451634+0.j          5.73009899-0.j\n",
      "  5.60900525+0.j         -0.        -3.15953971j  4.85309874+0.j\n",
      "  4.64042508+0.j          4.17881133+0.j          3.69514043+0.j\n",
      " -4.17881133-0.j         -3.69514043-0.j         -0.        +1.9855871j\n",
      "  3.00342539+0.j          2.82848642+0.j         -3.00342539-0.j\n",
      " -2.82848642-0.j          0.        -1.9855871j  -2.18122303-0.j\n",
      " -1.68122136-0.j          2.18122303+0.j          1.68122136-0.j\n",
      " -0.        +1.02298646j -0.        +0.50816413j -0.6742251 +0.j\n",
      "  0.6742251 -0.j         -0.        -0.50816413j  0.        -1.02298646j]\n",
      "[8.05990310e+00-8.01525374e-16j 7.96449190e+00-5.25071670e-16j\n",
      " 6.85088037e+00+3.13276486e-16j 6.78444251e+00+2.99175705e-16j\n",
      " 4.44843738e-16+3.15953971e+00j 5.93982167e+00+2.96239867e-17j\n",
      " 5.78451634e+00+7.40211571e-16j 5.73009899e+00+6.22931215e-16j\n",
      " 5.60900525e+00+4.43143959e-16j 4.85309874e+00+4.72192201e-16j\n",
      " 4.64042508e+00+7.38204794e-17j 4.17881133e+00+1.80323800e-16j\n",
      " 3.69514043e+00+3.93998162e-16j 6.20783258e-17-1.98558710e+00j\n",
      " 3.00342539e+00-2.39088939e-16j 2.82848642e+00+1.05594740e-16j\n",
      " 2.18122303e+00-2.11554512e-17j 1.68122136e+00-8.61303160e-17j\n",
      " 8.17559465e-16+5.08164129e-01j 6.74225104e-01-9.41419975e-16j\n",
      " 1.92874953e-16-1.02298646e+00j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 0.6862068965517241\n",
      "1217.3109044656928\n",
      "[2, 3, 6, 7, 12, 13, 14, 15, 18, 19, 21, 22, 23, 24, 25, 28, 29, 35, 37, 38, 39]\n",
      "21\n",
      "[-8.87350747+0.j         -8.76881969-0.j          8.87350747-0.j\n",
      "  8.76881969+0.j         -7.54637768-0.j         -7.47725346-0.j\n",
      "  7.54637768+0.j          7.47725346+0.j         -6.66342596-0.j\n",
      " -6.21081526+0.j         -6.39495308+0.j         -6.39665132-0.j\n",
      "  6.66342596-0.j          6.21081526+0.j          6.39665132+0.j\n",
      "  6.39495308-0.j         -5.36011127-0.j         -5.21909588-0.j\n",
      "  5.36011127-0.j          5.21909588-0.j         -0.        -3.09219443j\n",
      "  4.66648301+0.j          4.10900454+0.j         -0.        +3.09219443j\n",
      "  3.34680085-0.j          3.38721336+0.j         -4.66648301-0.j\n",
      " -4.10900454+0.j          2.51454669+0.j          1.93655628-0.j\n",
      " -3.34680085+0.j         -3.38721336+0.j          0.        -1.62517899j\n",
      " -2.51454669-0.j         -1.93655628+0.j          0.        +1.62517899j\n",
      " -0.        -1.00334432j  0.93239822+0.j          0.42360383+0.j\n",
      " -0.        +1.00334432j -0.93239822+0.j         -0.42360383+0.j        ]\n",
      "[8.87350747e+00+5.12848313e-16j 8.76881969e+00+4.59124492e-16j\n",
      " 7.54637768e+00-1.70123655e-16j 7.47725346e+00-3.29970408e-16j\n",
      " 6.66342596e+00+1.27918977e-15j 6.21081526e+00+8.67970644e-16j\n",
      " 6.39495308e+00+4.79500665e-16j 6.39665132e+00+2.11017388e-16j\n",
      " 5.36011127e+00-7.91377484e-17j 5.21909588e+00+1.71805807e-15j\n",
      " 3.90770186e-17+3.09219443e+00j 4.66648301e+00+2.73937961e-16j\n",
      " 4.10900454e+00+9.92024115e-16j 3.38721336e+00-1.57798641e-16j\n",
      " 3.34680085e+00+3.43584542e-16j 2.51454669e+00+4.88633148e-16j\n",
      " 1.93655627e+00+3.65182606e-17j 6.32434650e-16+1.62517899e+00j\n",
      " 4.23603828e-01-9.93685170e-16j 9.32398220e-01-1.37086114e-15j\n",
      " 4.88245991e-16-1.00334432e+00j]\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXYAAAEICAYAAABLdt/UAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDMuMC4yLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvOIA7rQAAIABJREFUeJzt3X10VfWd7/H3NzlJFOKEGFB8AiHUp4oXJEqE3tuORZHW0Wk7nVWpM3VaB501TNs1zrRqndpbW+t0xt6OxSlVa+mtUqe2dfCiFLTWVqCA4WFEER2CoqjUJIZoopCc5Hv/2CchDydP5+ydc7Lzea2VFfY+e//293yy883md06yzd0REZH4KMh1ASIiEi41dhGRmFFjFxGJGTV2EZGYUWMXEYkZNXYRkZhRYxeJMTO7yszW57oO6cnMnjSzq6Maf0w0djNbamY1ZnbYzFYMcZ+XzWxBxKWJ9GFmJWb2QzPbZ2bvmNl2M1uU67ribLDvdzOrNrPHzOwtM6szswfN7ISRrHE4xkRjB14HvgHcm+tCRIYgAbwKfBAoA/4J+JmZnZrDmmLJzBJD3LQcuAs4FZgKvAP8KKKysjYmGru7/9Ld/xNo6L7ezCaa2WozO5j6SfyUmRWY2U+AKcD/M7NmM/tSTgqXMcndW9z9a+7+srt3uPtq4CVgjpl9yMz2m9l1Zvammb1hZn/Vua+ZVZjZw2b2tpltASpz9kQiZmZfNrPXUv+recHMPpxaf7SZrTCzRjPbZWb/aGb7u+33cmrfZ4AWM/spg3y/u/sad3/Q3d9293eBZcD8bmOuMLM7zeyRVD2bzayy2+MXmdluM2sys2WARZfMGGnsA7gO2A9MAo4HbgTc3f8CeAX4E3cvdfdv57BGGePM7HjgNOC51KrJBFfyJwGfA+40s/LUY3cCh4ATgM+mPmLHzE4HlgLnufsxwELg5dTDNxP8QKtMrf9MmiGuAD4KTHD3Kxj+9/v/4sjXo/uY/5vg6n4P8M1UrROBXwA3AROBWrr9UIjCWG/sbQTfAFPdvc3dn3L98RzJI2ZWBNwP/Njdd6dWtwFfT52zjwLNwOlmVgh8Avhq6qr/WeDHOSk8eu1ACXCWmRWl/ndTm3rsz4Fvuvtb7v4qcEea/e9w91fd/b3hHtjMzgG+Cvxjr4d+6e5b3D1J8DWblVr/EWCXu//c3duA7wIHhnvc4Rjrjf1fCH6yrjOzvWZ2fa4LEulkZgXAT4BWgqvTTg2p5tHpXaCU4H+enfPznfZFXWcuuPse4IvA14A3zewBMzsx9fCJDJ7Bq2nWDcrMZgBrgC+4+1O9Hu7erDu/Jn3qSV08ZnT8oRrTjd3d33H369x9OvAnwN93ztMBunKXnDEzA35IMEX4idSV3mDqgCRwSrd1UyIoLy+4+0p3/wDBi5kO/HPqoTcYPIPe39+Dfr+b2VTgceAWd//JMErtUU/qa3tK/5tnb0w0djNLmNlRQCFQaGZHpdZdamYzUkG/TfDfu/bUbn8ApueoZJHvA2cSzPsOabrA3duBXwJfM7NxZnYW6eeXRz0zO93MLjSzEoLXFN7jyPfuz4AbzKzczE4G/m4IQw74/W5mJwFPAHe6+/JhlvsI8H4z+3jqXTifJ3idJDJjorETvGjxHnA9cGXq3zcB7yP4CdwM/B74d3d/MrXPt4CbUu+Y+YcRr1jGrNSV4TUEc7QHUu/UaDazTw9h96UEUwAHgBXk8VvyslQC3AbUEzzX4wje/ADBC5j7CN5JtI5gOmswg32/X03Q+G/u9vVoHkqh7l4PfDJVbwNB39kwlH0zZXqtUETizMw+BNzn7ifnupaRMlau2EVExozQGruZFaZ+9Xl1WGNKQNlGS/lGR9nmRphX7F8Ang9xPDlC2UZL+UYn59m6+5NjaRoGQmrsqVeePwrcE8Z4coSyjZbyjY6yzZ2h/gGcwXwX+BJwTH8bmNkSYAnA+PHj55xxxhkhHTqetm7dWu/uk1C2oeuWLSjfUCnbaPXKt19ZN3YzuxR40923pl59Tsvd7yL462hUVVV5TU1NtoeONQv+ZKuyjYCZ7Ut9Vr4hU7bR6sx3MGFMxcwHLjOzl4EHgAvN7L4QxhVlGzXlGx1lm0NZN3Z3v8HdT3b3U4FPAU+4+5VZVybKNmLKNzrKNrf0PnYRkZgJ68VTIHhbEfBkmGNKQNlGS/lGR9mOPF2xi4jEjBq7iEjMqLGLiMSMGruISMyosYuIxIwau4hIzKixi4jEjBq7iEjMqLGLiMSMGruISMyosYuIxIwau4hIzKixi4jEjBq7iEjMqLGLiMSMGruISMyoscdVezusXg233BJ8bm/PdUUiA6p75zAba+t7rNtYW8/y39bmqKLRK9Q7KI1GW/c1smlvA9XTK5gztTzX5YSjvR0WLqR52yZ2lrYws3k8pedWw9q1UFiY6+pE0jq6uJClK7dz7UVJGtp2UFE0i+WPJVi2eHauSxt1sm7sZnYU8DugJDXez9395mzHHQlb9zXy6Xs20ZrsoDhRwP1XV+ddc88o3zVraN62ibOuaqHxKCg/1MKuFZsoXbMGLr10BKoeHUbzuZvvMsm2tCTBkouSXLv2Y0AbUMTyhQ8xr3Ji9AXHTBhTMYeBC939fwCzgEvMrDqEcSO3aW8DrckOOhzakh1s2tuQ65LSGX6+27ezszRo6s0l0HgU7CxtgR07RqLe0WTUnrujQEbZNrTtANpwOoBkalmGK+srdnd3oDm1WJT68GzHHQnV0ysoThTQluygKFFA9fSKXJfUR0b5zp7NzObxlB9qAaD8EMxsHg+zZkVZ6qgzms/dfJdpthVFs4AijCSQSC3LcIUyx25mhcBWYAZwp7tvDmPcqM2ZWs79V1fn/Rz7sPNdtIjSc6vZtaLXHPuiRSNR7qgyWs/d0WC42TYfTrL8sQTLFz7UY4797En1mo4ZplAau7u3A7PMbALwkJmd7e7Pdt/GzJYASwCmTJkSxmFDMWdqed429E6D5dsn28JCWLuW0jVruGDHjuBKfdEivXCaxmg+d/PdcLOtOGkaDy+enWriwUXI2ZPqeWZ/kxr7MFnwP6YQBzS7GWhx93/tb5uqqiqvqakJ9bhxY2Zb3b0qzfoB81W2g8s0W1C+g1G20eov396yfvHUzCalfiJjZkcDC4Dd2Y4rAeUbHWUbHWWbW2FMxZwA/Dg1n1YA/MzdV4cwrgSUb3SUbXSUbQ6F8a6YZwD9BkFElG90lG10lG1u6U8KiIjEjBq7iEjMqLGLiMSMGruISMyosYuIxIwau4hIzKixi4jEjBq7iEjMqLGLiMSMGruISMyosYuIxIwau4hIzKixi4jEjBq7iEjMqLGLiMSMGruISMyosYuIxIwau4hIzKixi4jETNaN3cxOMbPfmNnzZvacmX0hjMIkoHyjo2yjo2xzK+ubWQNJ4Dp332ZmxwBbzewxd98VwtiifKOkbKOjbHMo6yt2d3/D3bel/v0O8DxwUrbjSkD5RkfZRkfZ5laoc+xmdiowG9ic5rElZlZjZjV1dXVhHnbM6C9fZZs9nbvRUbYjL7TGbmalwC+AL7r7270fd/e73L3K3asmTZoU1mHHjIHyVbbZ0bkbHWWbG6E0djMrIvji3e/uvwxjTDlC+UZH2UZH2eZOGO+KMeCHwPPu/p3sS5LulG90lG10lG1uhXHFPh/4C+BCM9uR+vhICONKQPlGR9lGR9nmUNZvd3T39YCFUIukoXyjo2yjo2xzS795KiISM2rscdXeDqtXwy23BJ/b23NdkciA6t45zMba+h7rNtbWs/y3tTmqaPQK4zdPR7Wt+xrZtLeB6ukVzJlanutywtHeDgsX0rxtEztLW5jZPJ7Sc6th7VooLMx1dSJpHV1cyNKV27n2oiQNbTuoKJrF8scSLFs8O9eljTpjurFv3dfIp+/ZRGuyg+JEAfdfXR2P5r5mDc3bNnHWVS00HgXlh1rYtWITpWvWwKWX5ro6kbRKSxIsuSjJtWs/BrQBRSxf+BDzKifmurRRZ0xPxWza20BrsoMOh7ZkB5v2NuS6pHBs387O0qCpN5dA41Gws7QFduzIdWUiA2po2wG04XQAydSyDNeYbuzV0ysoThRQaFCUKKB6ekWuSwrH7NnMbB5P+SEoPQzlh2Bm83iYNSvXlYkMqKJoFlCEUQgkUssyXGN6KmbO1HLuv7o6fnPsixZRem41u1b0mmNftCjXlYn0q/lwkuWPJVi+8KEec+xnT6rXdMwwjenGDkFzj01D71RYCGvXUrpmDRfs2BFcqS9apBdOJa+919rOvYtnp5p4cBFy9qR6ntnfpMY+TGO+scdWYWHwQqleLJVRYtIxJX0a+LzKiWrqGRjTc+wiInGkxi4iEjNq7CIiMaPGLiISM2rsIiIxo8YuIhIzauwiIjGjxi4iEjNq7CIiMRNKYzeze83sTTN7Nozx5IiMs9WNNgal8zZaw81XN9oIT1hX7CuAS0Iaa0Rt3dfInb/Zw9Z9jbkupT8rGG62qRttcMUVcPPNweeFC9Xc+1rBKD1vR4kVDCPfzhttdDb3jbX1LF25nXNOLouovPgK5W/FuPvvzOzUMMYaSaPhRhsZZbtmDWzeDM3NwXJzc7CsG230MFrP29FiuPmWliS4Y/Fslq7czpVzp3Df5ldY1vVHwWQ4RmyO3cyWmFmNmdXU1dWN1GEHFJcbbfTJdvt2aGnpuVGLbrSRqXw8d+Oid7bzKidy5dwp3PHEHq6cO0VNPUMj1tjd/S53r3L3qkmTJo3UYQcUlxtt9Ml29mwYP77nRuN1o41M5eO5Gxe9s91YW899m1/h8xfO4L7Nr/SZc5ehGdN/tjfON9pg7txg+qWlJWjqc+fqRhuS15oPJ1m6cnvX9Et1ZUWPZRm6Md3YId432mDNmmD6RTfakFGg5402gr/FvmzxbN1oIwNhvd3xp8DvgdPNbL+ZfS6McSWLbDtvtHHTTcFnNfU+dN5Ga7j59nejjWs/WBlhlfEU1rtirghjHOlL2UZH2UZL+eaOfvNURCRm1NhFRGJGjV1EJGbU2EVEYkaNXUQkZtTYRURiRo1dRCRm1NhFRGJGjV1EJGbU2EVEYkaNXUQkZtTYRURiRo1dRCRm1NhFRGJGjV1EJGbU2EVEYkaNXUQkZtTYRURiJpRb45nZJcC/AYXAPe5+WxjjSiDrfNvbgxtbb98Os2fDxRfDunVHlrvf6Ho427a2wje+ARs2wPz5wf1VCwsH3x9g9Wp48MHg35/85JH7sra3w6pVcMcd8NZbcOaZcMYZcN55R47d3t7//r2fd7rtssj25foW7n6qlr/+n0fuw/nh25/k9YPvceKEowH41Pmn8MCWVzn4bivvtrZzdHEh55w8gVffepfXD77HvMoK2h1W/NX5fPj2Jzn4biszT54AwPwZFQBs2NPQ9fjrB9/j7y8+reuYdz9VywNbXuWUY8d17fP939Qye8oE2h0Kja7P2185yN/8cWXXeABX/WgLr771Lp86/5S0Y3Zu15+B9k8ce9KMTLPtfYz5Myq6xr/qR1u6nldnfXc/Vdv1vIa6/fd/U0v5+OI+tX9n3YucOOFofn3dh9Luf9WPtrBz/0EmjCvu2qb312Hz3oaur23n13H5k7W4w9/8cWW/x+6d+7lfX8fsKRP44VVHvg6fW7GF7a8cHGp82Td2MysE7gQuAvYDT5vZw+6+a7B9t+5r5Bfb9mPAx889mTlTy1m5+RXWPPsGi84+gdMnH8Py39byUn0L0yaO77qpbec+7z+xjMZ3WykfV0zju61UT6/ghQPv9Nh/096GHo/PmVrO1n2NfdYDQ952oGO8814bz73xdr/1d9938dwpAD2ec+e6MPIFgua2cCHN2zaxs7SFmc3jKaWYZj/MzmPeDZbPrYa1a4Pth7pteztMnsyB1kYePh0u+84TTF62DGbNonnHlv73nz0X3Gn+/W/ZfEIHOMz9xU8pnfeh4AfCJZfQvOE3PDkFXjoWPrJuJ29uhJn/djSlVfPg0Udh0SKaNz7Zd/9163r+gLr44vTbZZFt6VEJbn1kN8c1/ReXl73EqqZp1NaVAFBWv52PFz7FxLVN/CNQTxnPdpzKsYeaKTxQwVnNDWzqOJPGF+DvKmrYdXcJZfUzqfXTOO3wLhaM/29uezS4mfP1Z9WzavX+rrHXPPow83fvDP69N9jnU+efAsCtj+zm0mNf5ZT/3sbEokNUtu+ltnA69W1HMa7sXG59pI0bP3pG13OYP6OCbz5SN+CYAxlof2997+1Ms+19jFsf2U1t0zbKyvbQ0HocO1+azMxpB/jWU7+mqWkG/7F+XNfzGur2F54xiV/vruOrax7ivt3bAHjxpXMp6TiT2roWrl/9YNr9G1qPo6FlMq+/9wwfvPuuHvt1ZvbkC3U8+uLvSI77T376Uh0lHTMpZDwz/uh8bn2kbcBjd8999pQJ/Hp3HR/43o2Mn7CVloNz2P/afD58xiS2DyU8wNx9iJv2M4DZBcDX3H1havkGAHf/Vn/7VFVV+Q9+8RhX3PV7WtuD4xcnCvjsvFNZ/ru9XdsVGHR0K6/QwAqMZPuRlQZ4atsCg2THke2LCoNtOx8vThTw1Uvfz9dXP8fhto6u9YnCAnAn2eF0eDBmSdGRbVuTHV3rE4VGW7fjJwqCGjvSxFgAdHRf7vV8bv3YTABufGhnj3WL507BzLa6e9Vw862qqvKampojK1avpvkvP8VZV7XQeBSUH4Itd8H5S+ha3rViPKX/9wGAoW+7ZQsHvnMLJ18H7QaFDvtvh1JPcNY1yf73v6cE2ts585okr/1RUOKJb8Pue0oo/eKXaL79W5x2TZI3/ujIUxjXChWdx1769zR/99ucefXhvvuv/PmRK/LVq2le/Gdpt5vyzuE9b7m/L9Nz95++diMXP30NxZak1ROsO+8HAFzy9F9TTLLPPh0GBQ7tZrR7IYZTRDsArSR4oGIpf97w7xRbkqQHs6MJ6+h37FYS/Oq8u7n80o8DsGr1L7n46WsoslYKu51f7QZtXsy6837QtW2nVat/OeCYg+lv/z/9k09kdN52Ztv93L1+9YN8u+ZK3JKYJ5hXcR0bG27vWv5S1X3cduknh7399asf5J9rPg20pfZM8OWqlQAD7j+v4jo2NPxrn/06awjGvQJSX9tORvGgx+7+PAA+8L0b2dBwJKr5FTew/u9u7eoLg319wphjPwl4tdvy/tS6HsxsiZnVmFlNXV0dm/Y29GiQbckOfvXcgR779G6W7U6Ppg5BU+/ctntTB2hLNfXOx9uSHax59g1akx191re1e9fxnJ7b9ljf6/jJjvRNHXo29XTPZ82zb7Dm2Tf6rOtl0Hx7Z9vD9u3sLA0adXNJ0GAfPp0eyztLW2DHjuFtu2EDD58eNA8s+Pzw6bDz2OTA+5cdZuexSRqOBrfg462jg/Vs2BA8Ni4YEwuewrvdj71hAzvLDqfff8eOns+7n+3Gw7ihZpsu38vLXqLYkhTSQbElubzsJS4ve4kia8eMHh8QzEMAJHCKrJ1Et+2KrJ3PlD/TNV6RtVNk7WnGTvbY5/Kyl7rq66wn0VVv5/HoGqO3wcYczBD2zyjb7srK9uCWBDpwSzJ+wtYey2VlezLavqxsD1jyyDlm7ZSV7Rl0//ETtqbdr/vxsfYe5y7GkI7d2/gJW7v277E8RGE0dkuzrk+rc/e73L3K3asmTZpE9fQKigqP7FqUKOCS90/uWVyvkQstuGJOd/ACC66euysqtK4nWGDBMRadfQLFiYI+64sKret4BfTatvv6XsdPFPSts6v+3su9tlt09gksOvuEPut6GTTf3tn2MHs2M5vHU34ISg8HV82XvUCP5ZnN42HWrOFtO38+l70QXKnjwefLXoCZbyUG3r+phJlvJah4D8yDj2PfC9Yzf37w2LupZ5h6luO6H3v+fGY2laTff9asns+7n+1a4N2hZpsu31VN02j1BO0U0OoJVjVNY1XTNNq8EHd6fMCR67ckRpsXkuy2XZsX8uPGc7rGa/NC2rwwzdiJHvusaprWVV9nPcmuejuPR9cYvQ025mCGsH9G2XbX1DQD8wRQgHmCloNzeiw3Nc3IaPumphngiSPnmBfS1DRj0P1bDs5Ju1/34+OFPc5dnCEdu7eWg3N6JNa1PERhvHi6H+g+MXcy8PpgO82ZWs5Pl1zQZ459SsX4yOfY062H9HPs6bYNe44d6HeOPdN8uyxaROm51exakZo3f2ccpcUl7PpRr3nz1IuaQ9724ouZvGwZ+29PzbG/AJOLy2HWLHat2NL//ucFc+zPf7/bHPuBAkrnBS++lq5fz4t3dptjfxHeLIWZ7xxNaVV1sM2GDTz//Sf77t/5wmzn8z5vftrtGp94oinTbOubD/PF9SV89wM/4PKyl1jXNI0vrA/mwc+1m4I5doLhu+bYrZnC0graU3PsEMyxH19Wwk17Z7Lt9dN47dRpwRz7riNz7G+Uz+kx9jemB1N2N+2dybb1JbxZVgvAretLuPTYWzilqe8c+6tl57I6tW33F+y+ub6k3zG7vzCczkD7F5Yee1ym2fY+xn+sH8eXPnAfZWV72LgrmPP+6LRK5p31ZteceWWq3qFuX1e/hV/vHsfkgls5bdqRee4H1gf/ietv/87lyQXH9tmvMvV1eGD9OCYX3EZy3H/ydmvPOfbBjl3ZLffPrdjC/tfmM/+kG3rMsX9uxZahxhfKHHsCeBH4MPAa8DSw2N2f62+fPvPA0ke3OfZh5Zs22853uuzYEVzVdr5TpXM53btihrJt57tiNm6EefN6vitmoP0heLfKz38e/PvP/qzvu2K+973gXTFnnBG8M6aqqu+7YtLt3/t5p9nOEomMsgWYeOqZ/q2frNa7YvrZ/3e3XtnU1rB/QrZ9Qe+KSf+umO03LxzSHDvunvUH8JHUF7EW+Mpg28+ZM8dlYECNZ5Cvsh1cptm68h2Uso1W93wH+gjlfezu/ijwaBhjSV/KNzrKNjrKNnf0m6ciIjGjxi4iEjNq7CIiMaPGLiISM2rsIiIxo8YuIhIzauwiIjGjxi4iEjNq7CIiMaPGLiISM2rsIiIxo8YuIhIzauwiIjGjxi4iEjNq7CIiMaPGLiISM2rsIiIxo8YuIhIzWTV2M/ukmT1nZh1mNvgNVmVYlG90lG10Ms227p3DbKyt77FuY209y39bG3qNcZftPU+fBT4O/CCEWnJi675GNu1toHp6BXOmlue6nN6yyre5tZmdf9jJzONnUlpcGm5lo9+oP3fzWEbZHl1cyNKV27n2oiQNbTuoKJrF8scSLFs8O5oqYyyrxu7uzwOYWTjVjLCt+xr59D2baE12UJwo4P6rq/OquWeTb3NrM2fdeRaNhxopP6qcXX+7S829m9F+7uazTLMtLUmw5KIk1679GNAGFLF84UPMq5wYQZXxNmJz7Ga2xMxqzKymrq5upA47oE17G2hNdtDh0JbsYNPehlyXlJF02e78w04aDzXS3NpM46FGdv5hZ46rHL3y8dyNi97ZNrTtANpwOoBkalmGa9ArdjN7HJic5qGvuPuqoR7I3e8C7gKoqqryIVcYoerpFRQnCmhLdlCUKKB6esWI17BgwQIOHDiQ7qEJQx0jXbYzj59J+VHB/z7Kjypn5vEzsy92lAkjW8jPczfXosq2omgWUISRBBIEyzJcgzZ2d18wEoXkwpyp5dx/dXVO59gff/zxtOvN7GA245YWl7Lrb3eN6Tn2qLKVaLJtPpxk+WMJli98qMcc+9mT6jUdM0zZvng66s2ZWp5X8+phKi0u5YJTLsh1GSJD8l5rO/cunp1q4osAOHtSPc/sb1JjH6Zs3+74MTPbD1wAPGJma8MpS0D5RknZRifTbCcdU9Kngc+rnMi1H6yMoMp4y/ZdMQ8BD4VUi/SifKOjbKOjbHNPv3kqIhIzauwiIjGjxi4iEjNq7CIiMaPGLiISM2rsIiIxo8YuIhIzauwiIjGjxi4ieUE32gjPmG/sW/c1cudv9rB1X2OuSxEZ0zpvtNHZ3DfW1rN05XbOObksx5WNPmP6j4Dl+402RMaS0pIEdyyezdKV27ly7hTu2/wKy7r+KJgMx5i+Yo/LjTZE4mJe5USunDuFO57Yw5Vzp6ipZ2hMN/bOG20UGjm70YaIHLGxtp77Nr/C5y+cwX2bX+kz5y5DM6anYvLhRhsiEmg+nGTpyu1d0y/VlRU9lmXoxnRjh3jfaENkNOl5o41gWmbZ4tm60UYGxnxjF5H80N+NNtTUh29Mz7GLiMSRGruISMxke8/TfzGz3Wb2jJk9ZGYTwipMlG+UlG10lG3uZXvF/hhwtrufA7wI3JB9SdKN8o2Oso2Oss2xrBq7u69z92RqcRNwcvYlSSflGx1lGx1lm3thzrF/FljT34NmtsTMasyspq6uLsTDjhn95qtss6ZzNzrKNgcGfbujmT0OTE7z0FfcfVVqm68ASeD+/sZx97uAuwCqqqo8o2pjaMGCBRw4cCDdQ13zkoPlq2zTCyNbUL7pKNv8Nmhjd/cFAz1uZp8BLgU+7O76wgzT448/nna9mR1MfVa+GVK20VG2+S2rX1Ays0uALwMfdPd3wylJOinf6Cjb6Cjb3Mt2jn0ZcAzwmJntMLPlIdQkRyjf6Cjb6CjbHMvqit3dZ4RViPSlfKOjbKOjbHNPv3kqIhIzauwiIjGjxi4iEjNq7CIiMaPGLiISM2rsIiIxo8YuIhIzauwiIjGjxi4iEjNq7CIiMaPGLiISM2rsIiIxo8YuIhIzauwiIjGjxi4iEjNq7CIiMaPGLiISM2rsIiIxk1VjN7NbzOyZ1H0N15nZiWEVJso3Sso2Oso297K9Yv8Xdz/H3WcBq4GvhlCTHKF8o6Nso6Nscyyrxu7ub3dbHA94duVId8o3Oso2Oso29xLZDmBm3wT+EmgC/jjriqQH5RsdZRudTLKte+cwG2vrmVc5sWvdxtp6ntnfxLUfrIym0Jgy94F/mJrZ48DkNA99xd1XddvuBuAod7+5n3GWAEsApkyZMmffvn0ZFx2mrfsa2bS3gerpFcyZWj7ix1+wYAEHDhzos/65556rdfcZncsD5Zuv2eZaGNmmHle+vUSR7eRTTp1zwl8F+UFYAAAFb0lEQVTfxbLFs5lXOZGNtfUsXbm9a1nAzLa6e9Wg2w3W2IdxwKnAI+5+9mDbVlVVeU1NTSjHzcbWfY18+p5NtCY7KE4UcP/V1Tlp7un0/gIONd98yTafZZotKN/BZJvtHf/xK5au3M6Vc6dw3+ZX1NR7GWpjz/ZdMe/rtngZsDub8Ubapr0NtCY76HBoS3awaW9DrkvqYbTnm8+UbXSyyXZe5USunDuFO57Yw5Vzp6ipZyjbOfbbzOx0oAPYB1ybfUkjp3p6BcWJAtqSHRQlCqieXpHrknob1fnmOWUbnYyz3Vhbz32bX+HzF87gvs2vUF1Zoeaegawau7t/IqxCcmHO1HLuv7o6p3PsAxnt+eYzZRudTLNtPpzsMadeXVmhOfYMZf2umNFuztTyvGvoImPRe63t3Nutic+rnMiyxbN5Zn+TGvswjfnGLiL5YdIxJX0a+LzKiWrqGdDfihERiRk1dhGRmFFjFxGJGTV2EZGYUWMXEYkZNXYRkZhRYxcRiRk1dhGRmFFjFxGJGTV2EZGYUWMXEYkZNXYRkZhRYxcRiRk1dhGRmFFjFxGJGTV2EZGYUWMXEYmZUBq7mf2DmbmZ6VYnEVC+0VG20VG2uZN1YzezU4CLgFeyL0d6U77RUbbRUba5FcYV+/8BvgR4CGNJX8o3Oso2Oso2h7K6mbWZXQa85u7/ZWaDbbsEWJJabDazF7I5dspEoD6PxglzrKlDzXeQbMN8bmHJdU1DzhYyPndz/Rz7E3VdYWU7VvMbzNShbGTuA/9ANbPHgclpHvoKcCNwsbs3mdnLQJW7j9iTNrMad6/Kl3EyGSvqfMN8bmEZqZpyee7mY+4Q6vfMmDtvIX/r6m3QK3Z3X5BuvZnNBKYBnT+VTwa2mdn57n4g1CpjTPlGR9lGR9nmt4ynYtx9J3Bc53IurtjjTPlGR9lGR9nmh9H+Pva78mycsMcKQ77VA/lZU9jy9Tnma1295Wud+VpXD4POsYuIyOgy2q/YRUSkFzV2EZGYGdWN3cy+ZmavmdmO1MdHMhjjEjN7wcz2mNn1WdbzspntTNVSk81Y2QrzeYUpnzKKSr5kny5rMzvWzB4zs/9OfS7PVX39yZf8uhtt5+2onmM3s68Bze7+rxnuXwi8SPCrz/uBp4Er3H1XhuO9TB68AyDs5xWmfMkoKvmUfbqszezbwFvufluqaZa7+5dHurb+5FN+vep6mVF03o7qK/YQnA/scfe97t4KPABcnuOawhDX5zUa5Hv2lwM/Tv37x8Cf5rCWdPI9v1EhDo19qZk9Y2b3ZvDfypOAV7st70+ty5QD68xsa+pXpXMl7OcVpnzJKCr5lH26rI939zcAUp+P63fv3Min/LobVedtVn8rZiQM8qvL3wduIQj9FuB24LPDGT7Numzmpua7++tmdhzwmJntdvffZTFepsJ+XmHKl4yikk/Z98k6R3UMRz7l192oOm/zvrH396vLvZnZ3cDqYQ6/Hzil2/LJwOvDHKOLu7+e+vymmT1E8N/KXHzxQ31eYcqjjKKSN9n3k/UfzOwEd3/DzE4A3sxFbQPIm/y6G23n7aieikmdmJ0+Bjw7zCGeBt5nZtPMrBj4FPBwhrWMN7NjOv8NXJxBPWEJ7XmFKc8yikpeZD9A1g8Dn0lt9hlg1UjXNoi8yK+70Xje5v0V+yC+bWazCP6r9jJwzXB2dvekmS0F1gKFwL3u/lyGtRwPPJT6w0cJYKW7/yrDsbIS8vMKU95kFJU8yj5t1mb2NPAzM/scwU0wPpmD2vqVR/l1N+rO21H9dkcREelrVE/FiIhIX2rsIiIxo8YuIhIzauwiIjGjxi4iEjNq7CIiMaPGLiISM/8fJzvvSmf/SPwAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 0.7482758620689655\n",
      "349.42485147618\n",
      "[0, 1, 4, 5, 8, 9, 10, 11, 16, 17, 20, 26, 27, 28, 29, 32, 33, 34, 35, 40, 41]\n",
      "21\n",
      "[ 9.68614968-0.j          9.5721843 -0.j         -9.68614968-0.j\n",
      " -9.5721843 -0.j          8.24074644-0.j          8.16938435+0.j\n",
      " -8.24074644+0.j         -8.16938435+0.j          7.38211479-0.j\n",
      "  7.06816541+0.j          6.99744293+0.j          6.79743437-0.j\n",
      " -7.38211479+0.j         -7.06816541-0.j         -6.99744293-0.j\n",
      " -6.79743437+0.j          5.86513516+0.j          5.79119006-0.j\n",
      " -5.86513516-0.j         -5.79119006+0.j         -0.        +3.01772155j\n",
      " -5.13621598-0.j         -4.52936289-0.j         -3.9170218 +0.j\n",
      " -3.68584062+0.j          0.        -3.01772155j  5.13621598+0.j\n",
      "  4.52936289+0.j          3.9170218 +0.j          3.68584062-0.j\n",
      " -2.81101133-0.j         -2.19773424-0.j          2.81101133+0.j\n",
      "  2.19773424-0.j         -0.        +1.28514276j -0.        +0.98643633j\n",
      " -1.00498923+0.j         -1.14124089+0.j         -0.        -1.28514276j\n",
      " -0.        -0.98643633j  1.00498923-0.j          1.14124089-0.j        ]\n",
      "[9.68614968e+00+4.87944002e-16j 9.57218430e+00+6.56884263e-16j\n",
      " 8.24074644e+00-4.81663467e-16j 8.16938435e+00-1.31344796e-16j\n",
      " 7.38211479e+00+2.43320951e-16j 7.06816541e+00+3.22941732e-16j\n",
      " 6.99744293e+00+6.80372898e-17j 6.79743437e+00-1.08707611e-16j\n",
      " 5.79119006e+00+3.25629646e-16j 5.86513516e+00-6.97182178e-17j\n",
      " 5.59048872e-18+3.01772155e+00j 5.13621598e+00+5.13470072e-16j\n",
      " 4.52936289e+00+8.93426522e-16j 3.91702180e+00-1.43780088e-15j\n",
      " 3.68584062e+00+5.89088681e-16j 2.81101133e+00+3.89624704e-16j\n",
      " 2.19773424e+00-4.31284704e-17j 2.60838898e-15-1.28514276e+00j\n",
      " 1.73068697e-15+9.86436331e-01j 1.00498923e+00+1.51957701e-15j\n",
      " 1.14124089e+00+2.88293617e-16j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 0.8103448275862069\n",
      "240.43867217679366\n",
      "[2, 3, 10, 11, 14, 15, 16, 17, 22, 24, 25, 26, 27, 28, 29, 32, 33, 36, 37, 38, 39]\n",
      "21\n",
      "[-10.49805264+0.j         -10.37480742+0.j\n",
      "  10.49805264+0.j          10.37480742+0.j\n",
      "  -8.93424954+0.j          -8.86105557-0.j\n",
      "  -8.09232179-0.j          -7.74014112-0.j\n",
      "  -7.59457342-0.j          -7.3791007 -0.j\n",
      "   8.93424954+0.j           8.86105557+0.j\n",
      "  -6.35548741-0.j          -6.36870217-0.j\n",
      "   8.09232179+0.j           7.74014112-0.j\n",
      "   7.59457342+0.j           7.3791007 +0.j\n",
      "  -5.59701496+0.j          -4.95948456-0.j\n",
      "  -4.41280628-0.j          -4.022152  -0.j\n",
      "   0.        +2.93587473j  -0.        -2.93587473j\n",
      "   6.35548741-0.j           6.36870217-0.j\n",
      "   5.59701496+0.j           4.95948456+0.j\n",
      "   4.41280628+0.j           4.022152  +0.j\n",
      "  -3.09314574-0.j          -2.47424368-0.j\n",
      "   3.09314574+0.j           2.47424368-0.j\n",
      "  -1.51186321+0.j          -1.3286101 +0.j\n",
      "   0.        +1.0396297j    0.        +0.96898878j\n",
      "   1.51186321-0.j           1.3286101 +0.j\n",
      "   0.        -1.0396297j   -0.        -0.96898878j]\n",
      "[1.04980526e+01+5.24878068e-16j 1.03748074e+01+3.48455669e-16j\n",
      " 8.93424954e+00-1.44339893e-16j 8.86105557e+00-9.53305835e-18j\n",
      " 8.09232179e+00+9.57265916e-16j 7.74014112e+00-5.38154450e-16j\n",
      " 7.59457342e+00-3.58264179e-16j 7.37910070e+00+1.38298299e-15j\n",
      " 6.35548741e+00+2.81894193e-16j 6.36870217e+00-4.31347026e-16j\n",
      " 3.77870372e-16+2.93587473e+00j 5.59701496e+00+1.69041912e-16j\n",
      " 4.95948456e+00-2.88655997e-17j 4.41280628e+00+9.06424550e-16j\n",
      " 4.02215200e+00+6.83133883e-16j 3.09314574e+00-3.40677369e-16j\n",
      " 2.47424368e+00+8.24013400e-16j 1.51186321e+00-4.68653511e-16j\n",
      " 1.32861010e+00-1.42350667e-16j 1.98233036e-15-1.03962970e+00j\n",
      " 2.31784771e-15-9.68988781e-01j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 0.8724137931034482\n",
      "345.5742996910746\n",
      "[0, 1, 4, 5, 6, 7, 8, 9, 12, 13, 18, 19, 20, 21, 24, 30, 31, 34, 35, 38, 39]\n",
      "21\n",
      "[ 11.30937521-0.j          11.17684721-0.j\n",
      " -11.17684721-0.j         -11.30937521-0.j\n",
      "   9.62707372+0.j           9.55240439-0.j\n",
      "   8.79508728-0.j           8.40898335+0.j\n",
      "   8.18981773+0.j           7.95846555+0.j\n",
      "  -9.62707372-0.j          -9.55240439-0.j\n",
      "   6.91297831+0.j           6.8711575 +0.j\n",
      "  -8.79508728-0.j          -8.40898335+0.j\n",
      "  -8.18981773+0.j          -7.95846555-0.j\n",
      "   6.05273719+0.j           5.40093687+0.j\n",
      "   4.35663407+0.j           4.87769684+0.j\n",
      "  -6.91297831+0.j          -6.8711575 -0.j\n",
      "  -0.        +2.84639733j   0.        -2.84639733j\n",
      "  -6.05273719-0.j          -5.40093687+0.j\n",
      "  -4.35663407-0.j          -4.87769684+0.j\n",
      "   3.36800341+0.j           2.77416442+0.j\n",
      "  -3.36800341-0.j          -2.77416442-0.j\n",
      "   1.93778522-0.j           1.504242  -0.j\n",
      "  -1.93778522-0.j          -1.504242  +0.j\n",
      "  -0.        +0.86435733j  -0.        +0.94921814j\n",
      "  -0.        -0.86435733j   0.        -0.94921814j]\n",
      "[1.13093752e+01-2.71696597e-16j 1.11768472e+01-3.15763576e-16j\n",
      " 9.62707372e+00-5.56686017e-16j 9.55240439e+00-5.16420554e-16j\n",
      " 8.79508728e+00+2.02527677e-15j 8.40898335e+00+1.55538857e-15j\n",
      " 8.18981773e+00+6.11834048e-16j 7.95846555e+00+1.28280464e-15j\n",
      " 6.91297831e+00-3.89167962e-16j 6.87115750e+00+3.63325527e-16j\n",
      " 6.05273719e+00+4.48478275e-16j 5.40093687e+00+3.42920730e-17j\n",
      " 1.62053910e-16+2.84639733e+00j 4.35663407e+00+9.54163292e-16j\n",
      " 4.87769684e+00-2.57707336e-16j 3.36800341e+00+4.45201897e-16j\n",
      " 2.77416442e+00-6.76369729e-16j 1.93778522e+00-1.01311192e-15j\n",
      " 1.50424200e+00-1.78179527e-15j 3.50566425e-16+8.64357325e-01j\n",
      " 1.11069614e-15-9.49218140e-01j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 0.9344827586206896\n",
      "533.5088207672501\n",
      "[0, 1, 4, 5, 8, 9, 10, 11, 16, 17, 20, 21, 22, 23, 29, 32, 33, 35, 37, 40, 41]\n",
      "21\n",
      "[ 12.1202337 +0.j          11.97841966+0.j\n",
      " -12.1202337 +0.j         -11.97841966-0.j\n",
      "  10.31935538-0.j          10.24351559-0.j\n",
      " -10.31935538-0.j         -10.24351559+0.j\n",
      "   9.49173485+0.j           9.07449066-0.j\n",
      "   8.78385183-0.j           8.53646712-0.j\n",
      "  -9.49173485+0.j          -9.07449066+0.j\n",
      "  -8.78385183-0.j          -8.53646712+0.j\n",
      "   7.46493119+0.j           7.37273927+0.j\n",
      "  -7.46493119-0.j          -7.37273927+0.j\n",
      "   6.50525512+0.j           5.85250261+0.j\n",
      "   5.31724787+0.j           4.68983777+0.j\n",
      "  -6.50525512+0.j          -5.85250261-0.j\n",
      "  -5.31724787-0.j          -4.68983777+0.j\n",
      "   0.        -2.74904231j  -0.        +2.74904231j\n",
      "  -3.63848241-0.j          -3.09856136-0.j\n",
      "   3.63848241+0.j           3.09856136+0.j\n",
      "  -2.28583773+0.j           2.28583773-0.j\n",
      "  -1.67271454-0.j           1.67271454+0.j\n",
      "   0.        -0.71154154j  -0.        -0.9255233j\n",
      "  -0.        +0.71154154j   0.        +0.9255233j ]\n",
      "[1.21202337e+01-1.84329385e-16j 1.19784197e+01-1.15866990e-16j\n",
      " 1.03193554e+01-1.85040290e-16j 1.02435156e+01+1.53238856e-16j\n",
      " 9.49173485e+00+5.57810934e-16j 9.07449066e+00-3.88989100e-16j\n",
      " 8.78385183e+00-6.25011889e-17j 8.53646712e+00+6.04569363e-16j\n",
      " 7.46493119e+00+1.20207663e-17j 7.37273927e+00-3.70393882e-16j\n",
      " 6.50525512e+00+8.46690287e-16j 5.85250261e+00+4.48497127e-16j\n",
      " 5.31724787e+00+1.26820797e-15j 4.68983777e+00+1.24865077e-15j\n",
      " 3.33079714e-16-2.74904231e+00j 3.63848241e+00-5.54902291e-16j\n",
      " 3.09856135e+00-1.11458087e-15j 2.28583773e+00+1.67729171e-15j\n",
      " 1.67271454e+00-4.85458635e-16j 2.43030800e-17+7.11541542e-01j\n",
      " 1.41369950e-15-9.25523303e-01j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 0.9965517241379309\n",
      "960.5755095899224\n",
      "[2, 3, 6, 7, 12, 13, 14, 15, 18, 19, 20, 21, 22, 23, 28, 29, 30, 35, 37, 38, 39]\n",
      "21\n",
      "[-12.93071525+0.j         -12.77961179+0.j\n",
      "  12.93071525+0.j          12.77961179-0.j\n",
      " -11.01119649-0.j         -10.93444082+0.j\n",
      "  11.01119649-0.j          10.93444082-0.j\n",
      " -10.1833859 -0.j          -9.73689034+0.j\n",
      "  -9.37701922-0.j          -9.11354089-0.j\n",
      "  10.1833859 +0.j           9.73689034+0.j\n",
      "   9.37701922-0.j           9.11354089-0.j\n",
      "  -8.01244187-0.j          -7.87361864+0.j\n",
      "   8.01244187+0.j           7.87361864-0.j\n",
      "   6.95558784+0.j           6.3109545 -0.j\n",
      "   5.73798765-0.j           5.02211974-0.j\n",
      "  -6.95558784-0.j          -6.3109545 -0.j\n",
      "  -5.73798765-0.j          -5.02211974-0.j\n",
      "   0.        +2.64361225j   3.90603012-0.j\n",
      "   3.439569  +0.j          -0.        -2.64361225j\n",
      "  -3.90603012-0.j          -3.439569  +0.j\n",
      "  -2.57786216-0.j           2.57786216-0.j\n",
      "  -1.83656971-0.j           1.83656971-0.j\n",
      "   0.        +0.54897787j  -0.        +0.89593223j\n",
      "   0.        -0.54897787j   0.        -0.89593223j]\n",
      "[1.29307152e+01-1.08637261e-15j 1.27796118e+01-7.48770718e-16j\n",
      " 1.10111965e+01+6.73135999e-16j 1.09344408e+01+2.25087057e-17j\n",
      " 1.01833859e+01+3.14348868e-18j 9.73689034e+00-6.76192881e-16j\n",
      " 9.37701922e+00-4.87735326e-16j 9.11354089e+00+8.59748239e-16j\n",
      " 8.01244187e+00-1.53101167e-15j 7.87361864e+00-5.52709479e-16j\n",
      " 6.95558784e+00+6.92181594e-16j 6.31095450e+00+2.90758926e-16j\n",
      " 5.73798765e+00+4.79589289e-16j 5.02211974e+00+3.86742374e-16j\n",
      " 6.98933378e-16-2.64361225e+00j 3.90603012e+00+6.46138752e-16j\n",
      " 3.43956900e+00+9.50083051e-17j 2.57786216e+00-4.66844261e-16j\n",
      " 1.83656971e+00+2.49694090e-15j 6.33705665e-16+5.48977865e-01j\n",
      " 1.36195481e-15-8.95932230e-01j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.0586206896551724\n",
      "2849.0788851472657\n",
      "[0, 1, 4, 5, 8, 9, 10, 11, 16, 17, 20, 21, 22, 23, 28, 29, 30, 35, 37, 38, 39]\n",
      "21\n",
      "[ 13.74088644-0.j          13.58049023+0.j\n",
      " -13.74088644+0.j         -13.58049023+0.j\n",
      "  11.70267486+0.j          11.62521113+0.j\n",
      " -11.70267486-0.j         -11.62521113+0.j\n",
      "  10.87093455-0.j          10.39651285-0.j\n",
      "   9.96952645+0.j           9.68992946+0.j\n",
      " -10.87093455+0.j         -10.39651285+0.j\n",
      "  -9.96952645-0.j          -9.68992946-0.j\n",
      "   8.5563771 -0.j           8.37392253+0.j\n",
      "  -8.5563771 -0.j          -8.37392253+0.j\n",
      "   7.40434297+0.j           6.77291796-0.j\n",
      "   6.14573743-0.j           5.35371888-0.j\n",
      "  -7.40434297+0.j          -6.77291796+0.j\n",
      "  -6.14573743+0.j          -5.35371888+0.j\n",
      "   4.17147281-0.j           3.78709506-0.j\n",
      "   0.        +2.53003662j   0.        -2.53003662j\n",
      "  -4.17147281-0.j          -3.78709506-0.j\n",
      "  -2.83481841-0.j           2.83481841-0.j\n",
      "  -1.99738033+0.j           1.99738033+0.j\n",
      "  -0.        +0.8575722j    0.        +0.33179854j\n",
      "   0.        -0.33179854j   0.        -0.8575722j ]\n",
      "[1.37408864e+01+1.67963781e-16j 1.35804902e+01+3.58538338e-16j\n",
      " 1.17026749e+01-5.81579866e-16j 1.16252111e+01-9.79126254e-16j\n",
      " 1.08709346e+01+5.47399238e-16j 1.03965128e+01+5.89194763e-18j\n",
      " 9.96952645e+00+5.91046665e-16j 9.68992946e+00+1.23882695e-15j\n",
      " 8.55637710e+00-1.97058206e-16j 8.37392253e+00-8.44770449e-16j\n",
      " 7.40434297e+00+2.56596927e-16j 6.77291796e+00-3.25858243e-16j\n",
      " 6.14573743e+00+1.42973344e-15j 5.35371888e+00+1.36314903e-15j\n",
      " 5.58531285e-16+2.53003662e+00j 4.17147281e+00-1.58775124e-16j\n",
      " 3.78709506e+00+5.67275980e-16j 2.83481841e+00+1.30413340e-15j\n",
      " 1.99738033e+00+9.61733137e-17j 1.34050706e-14-3.31798542e-01j\n",
      " 2.80945556e-16+8.57572196e-01j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.1206896551724137\n",
      "4407.603142921419\n",
      "[0, 1, 4, 5, 8, 9, 10, 11, 16, 17, 20, 21, 22, 23, 26, 27, 30, 31, 36, 38, 39]\n",
      "21\n",
      "[ 14.55079903-0.j          14.38110687+0.j\n",
      " -14.55079903-0.j         -14.38110687+0.j\n",
      "  12.39385092+0.j          12.31584498-0.j\n",
      " -12.39385092+0.j         -12.31584498+0.j\n",
      "  11.55508758+0.j          11.05369172+0.j\n",
      "  10.56151114-0.j          10.26578542-0.j\n",
      " -11.55508758-0.j         -11.05369172+0.j\n",
      " -10.56151114-0.j         -10.26578542-0.j\n",
      "   9.09740754+0.j           8.87374751+0.j\n",
      "  -9.09740754-0.j          -8.87374751-0.j\n",
      "   7.85190953+0.j           7.2359486 +0.j\n",
      "   6.54476798+0.j           5.68479882-0.j\n",
      "  -7.85190953-0.j          -7.2359486 -0.j\n",
      "   4.43532848+0.j           4.13438696-0.j\n",
      "  -6.54476798-0.j          -5.68479882-0.j\n",
      "   3.07081458-0.j           0.        +2.40851749j\n",
      "  -4.43532848+0.j          -4.13438696-0.j\n",
      "  -0.        -2.40851749j  -3.07081458+0.j\n",
      "   2.15619618-0.j          -2.15619618+0.j\n",
      "   0.        +0.80580135j   0.27828654+0.j\n",
      "  -0.27828654-0.j          -0.        -0.80580135j]\n",
      "[1.45507990e+01-2.11169999e-16j 1.43811069e+01-3.90703823e-16j\n",
      " 1.23938509e+01+3.02945471e-16j 1.23158450e+01+7.44932586e-16j\n",
      " 1.15550876e+01+3.35072755e-16j 1.10536917e+01+2.72468317e-16j\n",
      " 1.05615111e+01+5.71306783e-16j 1.02657854e+01+1.01608144e-15j\n",
      " 9.09740754e+00-1.81756848e-16j 8.87374751e+00-3.25513343e-16j\n",
      " 7.85190953e+00+1.25634081e-15j 7.23594860e+00-2.54222699e-16j\n",
      " 6.54476798e+00+8.99005984e-16j 5.68479882e+00+6.24917580e-16j\n",
      " 4.13438696e+00-2.68337896e-16j 4.43532848e+00-4.40107494e-16j\n",
      " 1.22746623e-16+2.40851749e+00j 3.07081458e+00+9.93877814e-16j\n",
      " 2.15619618e+00+1.97417489e-15j 2.78286537e-01+2.68359375e-15j\n",
      " 4.26921250e-15-8.05801352e-01j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.182758620689655\n",
      "1397.305240400771\n",
      "[2, 3, 6, 7, 12, 13, 14, 15, 18, 19, 23, 24, 25, 27, 31, 32, 34, 35, 36, 38, 40]\n",
      "21\n",
      "[-15.36049387-0.j         -15.18150273-0.j\n",
      "  15.36049387-0.j          15.18150273+0.j\n",
      " -13.08477232-0.j         -13.0063534 -0.j\n",
      "  13.08477232-0.j          13.0063534 -0.j\n",
      " -12.23640609+0.j         -11.70873169-0.j\n",
      " -11.15307127+0.j         -10.84121297+0.j\n",
      "  12.23640609+0.j          11.70873169+0.j\n",
      "  11.15307127+0.j          10.84121297+0.j\n",
      "  -9.636052  -0.j          -9.3731686 +0.j\n",
      "   9.636052  +0.j           9.3731686 -0.j\n",
      "  -8.29855081+0.j          -7.6985984 +0.j\n",
      "  -6.93791149+0.j           8.29855081+0.j\n",
      "   7.6985984 -0.j           6.93791149+0.j\n",
      "  -6.0154733 -0.j           6.0154733 +0.j\n",
      "  -4.69794452+0.j          -4.47823955-0.j\n",
      "  -3.29405101-0.j           4.69794452-0.j\n",
      "   4.47823955+0.j           0.        -2.27979402j\n",
      "   3.29405101+0.j           0.        +2.27979402j\n",
      "   2.31375721-0.j          -2.31375721+0.j\n",
      "   0.51590269-0.j          -0.51590269+0.j\n",
      "  -0.        +0.73235888j  -0.        -0.73235888j]\n",
      "[1.53604939e+01-2.81909355e-16j 1.51815027e+01-1.53618972e-16j\n",
      " 1.30847723e+01+2.53674518e-16j 1.30063534e+01+6.63706809e-16j\n",
      " 1.22364061e+01+3.21745867e-17j 1.17087317e+01+2.92380261e-16j\n",
      " 1.11530713e+01+5.66133789e-16j 1.08412130e+01+7.46192291e-16j\n",
      " 9.63605200e+00+4.86980462e-17j 9.37316860e+00+4.34328918e-17j\n",
      " 8.29855081e+00+3.52380009e-16j 7.69859840e+00+1.59681217e-15j\n",
      " 6.93791149e+00-4.82147889e-16j 6.01547330e+00+5.94135055e-16j\n",
      " 4.47823955e+00+2.22190889e-16j 4.69794452e+00-7.33473844e-16j\n",
      " 3.29405101e+00-2.05957107e-15j 5.54981910e-16-2.27979402e+00j\n",
      " 2.31375721e+00+1.04056210e-15j 5.15902689e-01-3.59525415e-15j\n",
      " 6.00894800e-16-7.32358883e-01j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.2448275862068965\n",
      "1749.4405332410843\n",
      "[2, 3, 10, 11, 12, 13, 14, 15, 18, 19, 23, 24, 25, 27, 31, 32, 35, 36, 37, 39, 40]\n",
      "21\n",
      "[-16.17000362-0.j         -15.98171066+0.j\n",
      "  16.17000362-0.j          15.98171066+0.j\n",
      " -13.77547717-0.j         -13.69674323+0.j\n",
      " -12.91533917+0.j         -12.36190061+0.j\n",
      " -11.74427973-0.j         -11.41628752-0.j\n",
      "  13.77547717+0.j          13.69674323-0.j\n",
      "  12.91533917+0.j          12.36190061-0.j\n",
      "  11.74427973-0.j          11.41628752+0.j\n",
      " -10.1727149 +0.j          -9.87224518-0.j\n",
      "  10.1727149 -0.j           9.87224518+0.j\n",
      "  -8.74445304+0.j          -8.16011721-0.j\n",
      "  -7.3269847 -0.j           8.74445304+0.j\n",
      "   8.16011721+0.j           7.3269847 -0.j\n",
      "  -6.34582225+0.j           6.34582225+0.j\n",
      "  -4.81751854-0.j          -4.95956597+0.j\n",
      "  -3.50915494-0.j           4.81751854-0.j\n",
      "   4.95956597-0.j          -2.47060544-0.j\n",
      "  -0.        -2.14558734j  -0.        +2.14558734j\n",
      "   3.50915494+0.j           2.47060544-0.j\n",
      "  -0.6773138 +0.j           0.6773138 -0.j\n",
      "  -0.        +0.62034104j   0.        -0.62034104j]\n",
      "[1.61700036e+01-1.20936824e-15j 1.59817107e+01-9.74746149e-16j\n",
      " 1.37754772e+01+5.18266981e-17j 1.36967432e+01+4.12342772e-16j\n",
      " 1.29153392e+01-9.81081174e-16j 1.23619006e+01+1.90607347e-16j\n",
      " 1.17442797e+01+1.00444733e-15j 1.14162875e+01+6.10883108e-16j\n",
      " 1.01727149e+01-5.23001197e-16j 9.87224518e+00-3.62296795e-16j\n",
      " 8.74445304e+00+1.81333556e-16j 8.16011721e+00+5.90407595e-16j\n",
      " 7.32698470e+00+6.31100618e-16j 6.34582225e+00+1.26393879e-15j\n",
      " 4.81751854e+00-1.04693235e-15j 4.95956597e+00-2.01086056e-17j\n",
      " 3.50915494e+00-7.75722316e-16j 2.13610279e-15+2.14558734e+00j\n",
      " 2.47060544e+00-1.84348843e-15j 6.77313804e-01-8.46763957e-16j\n",
      " 1.45089101e-16+6.20341037e-01j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.306896551724138\n",
      "4713.467493395606\n",
      "[0, 1, 4, 5, 6, 7, 8, 9, 16, 17, 20, 21, 22, 23, 28, 29, 30, 34, 37, 38, 40]\n",
      "21\n",
      "[ 16.97935473+0.j          16.78175731-0.j\n",
      " -16.97935473-0.j         -16.78175731-0.j\n",
      "  14.4659963 +0.j          14.38701907-0.j\n",
      "  13.59224934-0.j          13.01342999+0.j\n",
      "  12.33519256+0.j          11.99106591+0.j\n",
      " -14.4659963 +0.j         -14.38701907-0.j\n",
      " -13.59224934-0.j         -13.01342999+0.j\n",
      " -12.33519256+0.j         -11.99106591-0.j\n",
      "  10.70771483+0.j          10.37102498-0.j\n",
      " -10.70771483-0.j         -10.37102498-0.j\n",
      "   9.18975269-0.j           8.62016976-0.j\n",
      "   7.7131579 -0.j           6.67590234+0.j\n",
      "  -9.18975269-0.j          -8.62016976-0.j\n",
      "  -7.7131579 -0.j          -6.67590234-0.j\n",
      "   5.15206595+0.j           5.22037251+0.j\n",
      "   3.71880514-0.j          -5.15206595-0.j\n",
      "  -5.22037251+0.j          -3.71880514-0.j\n",
      "   2.62714792+0.j           0.        -2.00922458j\n",
      "  -2.62714792-0.j           0.        +2.00922458j\n",
      "   0.81045664-0.j          -0.81045664+0.j\n",
      "  -0.        +0.42219211j   0.        -0.42219211j]\n",
      "[1.69793547e+01+8.66000865e-16j 1.67817573e+01+8.74983526e-16j\n",
      " 1.44659963e+01+3.72478811e-16j 1.43870191e+01-7.08679662e-17j\n",
      " 1.35922493e+01+5.79452020e-16j 1.30134300e+01-1.15605368e-15j\n",
      " 1.23351926e+01-2.55924222e-16j 1.19910659e+01+5.31617300e-16j\n",
      " 1.07077148e+01-4.61104126e-17j 1.03710250e+01-4.49739256e-16j\n",
      " 9.18975269e+00+4.94440651e-16j 8.62016976e+00+1.58191007e-15j\n",
      " 7.71315790e+00+3.42377012e-16j 6.67590234e+00-2.23852871e-16j\n",
      " 5.15206595e+00-2.68962056e-17j 5.22037251e+00+1.40082803e-16j\n",
      " 3.71880514e+00+2.89704815e-16j 2.62714792e+00-2.89233203e-15j\n",
      " 8.17280537e-16-2.00922458e+00j 8.10456637e-01-3.46730838e-15j\n",
      " 2.36781039e-16-4.22192112e-01j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.3689655172413793\n",
      "10069.403129056278\n",
      "[0, 1, 4, 5, 6, 7, 8, 9, 16, 17, 20, 21, 22, 23, 28, 29, 30, 34, 36, 38, 40]\n",
      "21\n",
      "[ 17.78856881-0.j          17.58166451-0.j\n",
      " -17.78856881-0.j         -17.58166451-0.j\n",
      "  15.15635493+0.j          15.07718447-0.j\n",
      "  14.2674318 +0.j          13.6635186 +0.j\n",
      "  12.92585384-0.j          12.56559235-0.j\n",
      " -15.15635493-0.j         -15.07718447-0.j\n",
      " -14.2674318 +0.j         -13.6635186 -0.j\n",
      " -12.92585384-0.j         -12.56559235-0.j\n",
      "  11.24130567-0.j          10.86954692+0.j\n",
      " -11.24130567+0.j         -10.86954692+0.j\n",
      "   9.63455269+0.j           9.07864909-0.j\n",
      "   8.09720127+0.j           7.00575408+0.j\n",
      "  -9.63455269-0.j          -9.07864909-0.j\n",
      "  -8.09720127+0.j          -7.00575408+0.j\n",
      "   5.48213239-0.j           5.48049993-0.j\n",
      "   3.92462279+0.j          -5.48213239+0.j\n",
      "  -5.48049993+0.j          -3.92462279+0.j\n",
      "   2.78369395+0.j          -2.78369395-0.j\n",
      "  -0.        +1.87614611j  -0.        -1.87614611j\n",
      "   0.92812597-0.j          -0.92812597+0.j\n",
      "   0.32285036+0.j          -0.32285036+0.j        ]\n",
      "[1.77885688e+01-1.16408257e-15j 1.75816645e+01-1.09755642e-15j\n",
      " 1.51563549e+01+1.93648097e-16j 1.50771845e+01+5.03276483e-16j\n",
      " 1.42674318e+01+3.87541455e-16j 1.36635186e+01+1.03545917e-15j\n",
      " 1.29258538e+01-2.97138266e-16j 1.25655923e+01+2.69196804e-16j\n",
      " 1.12413057e+01+5.48807540e-16j 1.08695469e+01-8.55762947e-16j\n",
      " 9.63455269e+00+3.60496859e-16j 9.07864909e+00+2.21264346e-15j\n",
      " 8.09720127e+00-1.18056794e-16j 7.00575408e+00+5.55839455e-16j\n",
      " 3.92462279e+00-5.49520221e-16j 2.78369395e+00-1.54131453e-15j\n",
      " 1.15284227e-15+1.87614611e+00j 9.28125965e-01+1.27984301e-15j\n",
      " 3.22850364e-01+2.25246395e-15j 5.48213239e+00+4.05633985e-16j\n",
      " 5.48049993e+00+9.67809831e-16j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.4310344827586206\n",
      "2695.575316643075\n",
      "[0, 1, 4, 5, 6, 7, 8, 9, 16, 17, 20, 21, 22, 23, 28, 29, 30, 34, 36, 38, 39]\n",
      "21\n",
      "[ 18.59766375-0.j          18.38145032-0.j\n",
      " -18.59766375+0.j         -18.38145032+0.j\n",
      "  15.8465739 -0.j          15.7672426 +0.j\n",
      "  14.94112889+0.j          14.31233673+0.j\n",
      "  13.51629895-0.j          13.139902  +0.j\n",
      " -15.8465739 +0.j         -15.7672426 +0.j\n",
      " -14.94112889-0.j         -14.31233673-0.j\n",
      " -13.51629895+0.j         -13.139902  +0.j\n",
      "  11.77369195-0.j          11.36784313+0.j\n",
      " -11.77369195-0.j         -11.36784313-0.j\n",
      "  10.07893252+0.j           9.53556787+0.j\n",
      "   8.47963586+0.j           7.33540679-0.j\n",
      " -10.07893252-0.j          -9.53556787-0.j\n",
      "  -8.47963586-0.j          -7.33540679-0.j\n",
      "   5.8081138 +0.j           5.74005346-0.j\n",
      "   4.12763637-0.j          -5.8081138 +0.j\n",
      "  -5.74005346+0.j          -4.12763637+0.j\n",
      "   2.94047808+0.j          -2.94047808+0.j\n",
      "  -0.        +1.75342585j   0.        -1.75342585j\n",
      "   1.03592849-0.j           0.69532087-0.j\n",
      "  -1.03592849-0.j          -0.69532087+0.j        ]\n",
      "[1.85976637e+01-5.15079973e-18j 1.83814503e+01+5.09719866e-16j\n",
      " 1.58465739e+01+1.75845109e-16j 1.57672426e+01-4.04021973e-17j\n",
      " 1.49411289e+01+1.60164382e-15j 1.43123367e+01+1.47298178e-15j\n",
      " 1.35162990e+01+5.91796789e-16j 1.31399020e+01+1.33398493e-15j\n",
      " 1.17736920e+01-6.52795451e-17j 1.13678431e+01-2.19766024e-16j\n",
      " 1.00789325e+01+1.43669895e-15j 9.53556787e+00+6.62933562e-16j\n",
      " 8.47963586e+00-1.56236484e-16j 7.33540679e+00-1.46270337e-15j\n",
      " 5.80811380e+00+1.38641901e-15j 5.74005346e+00-6.48129337e-16j\n",
      " 4.12763637e+00+3.42577820e-16j 2.94047808e+00+2.35266952e-15j\n",
      " 6.79511806e-15-1.75342585e+00j 1.03592849e+00+3.58862577e-15j\n",
      " 6.95320875e-01+1.57109206e-14j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.4931034482758618\n",
      "1641.083225628353\n",
      "[2, 3, 10, 11, 12, 13, 14, 15, 18, 19, 24, 25, 26, 27, 31, 32, 33, 35, 37, 38, 39]\n",
      "21\n",
      "[-19.40665442-0.j         -19.1811298 -0.j\n",
      "  19.40665442+0.j          19.1811298 +0.j\n",
      " -16.53667059-0.j         -16.45719658-0.j\n",
      " -15.61354103+0.j         -14.96003042+0.j\n",
      " -14.10655669-0.j         -13.7140234 +0.j\n",
      "  16.53667059+0.j          16.45719658-0.j\n",
      "  15.61354103+0.j          14.96003042-0.j\n",
      "  14.10655669+0.j          13.7140234 -0.j\n",
      " -12.30504024+0.j         -11.8659404 +0.j\n",
      "  12.30504024-0.j          11.8659404 -0.j\n",
      " -10.52295482+0.j          -9.99099791-0.j\n",
      "  -8.86082448-0.j          -7.66488193-0.j\n",
      "  10.52295482+0.j           9.99099791-0.j\n",
      "   8.86082448+0.j           7.66488193-0.j\n",
      "  -6.13043536+0.j          -5.99911628+0.j\n",
      "  -4.32852764+0.j           6.13043536+0.j\n",
      "   5.99911628+0.j           4.32852764+0.j\n",
      "  -3.09767506+0.j           3.09767506+0.j\n",
      "   0.        -1.64749873j   0.        +1.64749873j\n",
      "   1.13687348-0.j           0.98579035-0.j\n",
      "  -1.13687348-0.j          -0.98579035-0.j        ]\n",
      "[1.94066544e+01+4.77066884e-16j 1.91811298e+01+7.89981500e-16j\n",
      " 1.65366706e+01-3.85450622e-17j 1.64571966e+01-6.31212785e-16j\n",
      " 1.56135410e+01+1.54029973e-15j 1.49600304e+01-3.39105594e-16j\n",
      " 1.41065567e+01+1.08179248e-15j 1.37140234e+01+1.88750040e-15j\n",
      " 1.23050402e+01+9.37246319e-16j 1.18659404e+01-9.03394917e-16j\n",
      " 1.05229548e+01+9.26618926e-16j 9.99099791e+00+2.82929875e-15j\n",
      " 8.86082448e+00+5.09454749e-16j 7.66488193e+00+3.38989471e-16j\n",
      " 6.13043536e+00-3.12633069e-16j 5.99911628e+00-6.10954819e-16j\n",
      " 4.32852764e+00-6.19799494e-17j 3.09767506e+00-3.14812554e-15j\n",
      " 6.65092472e-16+1.64749873e+00j 1.13687348e+00-1.13197349e-15j\n",
      " 9.85790349e-01+1.16086986e-14j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.5551724137931033\n",
      "1220.008441195323\n",
      "[0, 1, 4, 5, 6, 7, 8, 9, 16, 17, 20, 21, 22, 26, 28, 29, 30, 34, 37, 38, 39]\n",
      "21\n",
      "[ 20.21555333+0.j          19.98071563-0.j\n",
      " -20.21555333+0.j         -19.98071563+0.j\n",
      "  17.2266596 +0.j          17.14704966+0.j\n",
      "  16.28483519-0.j          15.6067252 -0.j\n",
      "  14.69665079+0.j          14.28798003-0.j\n",
      " -17.2266596 +0.j         -17.14704966-0.j\n",
      " -16.28483519+0.j         -15.6067252 -0.j\n",
      " -14.69665079+0.j         -14.28798003-0.j\n",
      "  12.83548752+0.j          12.36386132+0.j\n",
      " -12.83548752-0.j         -12.36386132-0.j\n",
      "  10.96666979+0.j          10.44503728-0.j\n",
      "   9.24102675+0.j         -10.96666979+0.j\n",
      " -10.44503728+0.j          -9.24102675-0.j\n",
      "   7.99419552-0.j          -7.99419552-0.j\n",
      "   6.44950297-0.j           6.25775533-0.j\n",
      "   4.5277665 +0.j          -6.44950297-0.j\n",
      "  -6.25775533-0.j          -4.5277665 +0.j\n",
      "   3.25541   -0.j          -3.25541   +0.j\n",
      "   0.        -1.56135214j   0.        +1.56135214j\n",
      "   1.23277598+0.j           1.25166995-0.j\n",
      "  -1.23277598-0.j          -1.25166995+0.j        ]\n",
      "[2.02155533e+01-1.74156123e-15j 1.99807156e+01-1.41743838e-15j\n",
      " 1.72266596e+01+1.03982588e-15j 1.71470497e+01+2.49455853e-15j\n",
      " 1.62848352e+01-8.41938486e-16j 1.56067252e+01+1.72984867e-15j\n",
      " 1.46966508e+01-1.44907680e-16j 1.42879800e+01-7.63679951e-16j\n",
      " 1.28354875e+01+5.39306063e-16j 1.23638613e+01-2.75008044e-16j\n",
      " 1.09666698e+01+4.07364670e-16j 1.04450373e+01+1.48513218e-15j\n",
      " 9.24102675e+00+1.08710230e-16j 7.99419552e+00-1.55405658e-15j\n",
      " 6.44950297e+00+2.13978626e-15j 6.25775533e+00-7.26415497e-16j\n",
      " 4.52776650e+00+8.89060812e-17j 3.25541000e+00+1.74643795e-15j\n",
      " 7.25291246e-16+1.56135214e+00j 1.23277598e+00-1.80904039e-15j\n",
      " 1.25166995e+00-3.34944143e-15j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.6172413793103446\n",
      "993.8797491628842\n",
      "[2, 3, 7, 8, 9, 13, 14, 15, 18, 19, 24, 25, 26, 27, 31, 32, 33, 35, 36, 38, 39]\n",
      "21\n",
      "[-21.02437106+0.j         -20.78021853+0.j\n",
      "  21.02437106+0.j          20.78021853-0.j\n",
      " -17.91655328+0.j         -17.83680524-0.j\n",
      " -16.95515135-0.j          17.91655328-0.j\n",
      "  17.83680524-0.j          16.95515135-0.j\n",
      " -16.25252926+0.j         -15.28660108+0.j\n",
      " -14.86179145+0.j          16.25252926+0.j\n",
      "  15.28660108+0.j          14.86179145+0.j\n",
      " -13.36514748+0.j         -12.86162506+0.j\n",
      "  13.36514748+0.j          12.86162506-0.j\n",
      " -11.41011823-0.j         -10.89779265+0.j\n",
      "  -9.62043316-0.j          -8.32335978+0.j\n",
      "  11.41011823-0.j          10.89779265-0.j\n",
      "   9.62043316-0.j           8.32335978-0.j\n",
      "  -6.76568517-0.j          -6.51602522+0.j\n",
      "  -4.72568797-0.j           6.76568517-0.j\n",
      "   6.51602522+0.j           4.72568797+0.j\n",
      "  -3.41376596-0.j           3.41376596+0.j\n",
      "  -0.        +1.49393938j  -0.        -1.49393938j\n",
      "   1.32481873+0.j           1.50126056+0.j\n",
      "  -1.32481873-0.j          -1.50126056-0.j        ]\n",
      "[2.10243711e+01+1.41097725e-17j 2.07802185e+01+3.75451617e-16j\n",
      " 1.79165533e+01-4.47494430e-16j 1.78368052e+01-9.46301396e-16j\n",
      " 1.69551514e+01+2.03928103e-15j 1.62525293e+01+8.07991291e-16j\n",
      " 1.52866011e+01-5.80085763e-16j 1.48617915e+01+3.87798984e-16j\n",
      " 1.33651475e+01-7.48169148e-16j 1.28616251e+01-1.14252600e-15j\n",
      " 1.14101182e+01+1.99952811e-15j 1.08977926e+01+7.10994472e-16j\n",
      " 9.62043316e+00+9.27225947e-16j 8.32335978e+00+5.16349100e-16j\n",
      " 6.76568517e+00+5.61310008e-16j 6.51602522e+00+5.82070198e-17j\n",
      " 4.72568797e+00-1.34125698e-16j 3.41376596e+00+3.55153595e-15j\n",
      " 3.64678407e-15+1.49393938e+00j 1.32481873e+00+2.03554270e-15j\n",
      " 1.50126056e+00-8.05018358e-15j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.6793103448275861\n",
      "853.0263839625682\n",
      "[0, 1, 4, 5, 6, 7, 8, 9, 16, 17, 20, 21, 22, 26, 28, 29, 30, 34, 36, 37, 39]\n",
      "21\n",
      "[ 21.83311663-0.j          21.57964767+0.j\n",
      " -21.83311663-0.j         -21.57964767-0.j\n",
      "  18.60636217+0.j          18.5264669 +0.j\n",
      "  17.62460766+0.j          16.89753621-0.j\n",
      "  15.8764242 +0.j          15.43547415+0.j\n",
      " -18.60636217+0.j         -18.5264669 -0.j\n",
      " -17.62460766-0.j         -16.89753621-0.j\n",
      " -15.8764242 -0.j         -15.43547415-0.j\n",
      "  13.89411527-0.j          13.35924807-0.j\n",
      " -13.89411527-0.j         -13.35924807+0.j\n",
      "  11.85333377-0.j          11.34937011-0.j\n",
      "   9.99918671+0.j         -11.85333377+0.j\n",
      " -11.34937011+0.j          -9.99918671-0.j\n",
      "   8.65238431-0.j          -8.65238431+0.j\n",
      "   7.07930871-0.j           6.77397109-0.j\n",
      "   4.92253805+0.j          -7.07930871-0.j\n",
      "  -6.77397109+0.j          -4.92253805-0.j\n",
      "   3.57279014+0.j          -3.57279014+0.j\n",
      "   1.41381638+0.j           1.73640899+0.j\n",
      "   0.        -1.44196141j  -0.        +1.44196141j\n",
      "  -1.41381638-0.j          -1.73640899-0.j        ]\n",
      "[2.18331166e+01-1.29468354e-15j 2.15796477e+01-1.07216936e-15j\n",
      " 1.86063622e+01+1.30216108e-15j 1.85264669e+01-1.10835941e-15j\n",
      " 1.76246077e+01+1.95266857e-15j 1.68975362e+01-2.79556586e-16j\n",
      " 1.58764242e+01+6.50629653e-16j 1.54354741e+01+1.36192130e-15j\n",
      " 1.38941153e+01+1.91687791e-16j 1.33592481e+01-2.45211870e-17j\n",
      " 1.18533338e+01+2.33022713e-16j 1.13493701e+01+2.36957533e-15j\n",
      " 9.99918671e+00-2.69795328e-16j 8.65238431e+00-2.99166485e-16j\n",
      " 7.07930871e+00-4.24475775e-16j 6.77397109e+00-1.35559325e-15j\n",
      " 4.92253805e+00-3.65490176e-16j 3.57279014e+00-1.32327745e-15j\n",
      " 5.94429011e-16-1.44196141e+00j 1.41381638e+00+1.48581691e-15j\n",
      " 1.73640899e+00+2.92170427e-15j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.7413793103448274\n",
      "757.0356017834865\n",
      "[0, 1, 4, 5, 6, 7, 8, 9, 16, 17, 20, 21, 22, 26, 28, 29, 32, 34, 36, 37, 38]\n",
      "21\n",
      "[ 22.64179777+0.j          22.3790109 -0.j\n",
      " -22.64179777+0.j         -22.3790109 +0.j\n",
      "  19.29609531+0.j          19.21603833-0.j\n",
      "  18.29330436+0.j          17.54182733+0.j\n",
      "  16.46613431+0.j          16.00904212+0.j\n",
      " -19.29609531+0.j         -19.21603833+0.j\n",
      " -18.29330436-0.j         -17.54182733-0.j\n",
      " -16.46613431-0.j         -16.00904212+0.j\n",
      "  14.42247116-0.j          13.85674449-0.j\n",
      " -14.42247116-0.j         -13.85674449+0.j\n",
      "  12.29634437-0.j          11.79987054+0.j\n",
      "  10.37739691-0.j         -12.29634437+0.j\n",
      " -11.79987054-0.j         -10.37739691+0.j\n",
      "   8.98127691+0.j          -8.98127691+0.j\n",
      "   7.39066002+0.j           7.03163068-0.j\n",
      "  -7.39066002+0.j          -7.03163068-0.j\n",
      "   5.11850199+0.j          -5.11850199-0.j\n",
      "   3.73249939-0.j          -3.73249939+0.j\n",
      "   1.50035414-0.j           1.958302  -0.j\n",
      "   0.        +1.40178762j   0.        -1.40178762j\n",
      "  -1.50035414-0.j          -1.958302  +0.j        ]\n",
      "[2.26417978e+01+9.77230950e-16j 2.23790109e+01+1.11651622e-15j\n",
      " 1.92960953e+01+8.08830015e-16j 1.92160383e+01+2.23902793e-15j\n",
      " 1.82933044e+01-3.18664241e-15j 1.75418273e+01-1.23461587e-15j\n",
      " 1.64661343e+01-5.45683275e-17j 1.60090421e+01+4.44825016e-16j\n",
      " 1.44224712e+01-1.03707930e-15j 1.38567445e+01-2.57090103e-16j\n",
      " 1.22963444e+01+1.61586783e-15j 1.17998705e+01-8.59556545e-17j\n",
      " 1.03773969e+01+2.44324742e-15j 8.98127691e+00+2.29284385e-15j\n",
      " 7.39066002e+00-1.38848333e-17j 7.03163068e+00-2.74906439e-16j\n",
      " 5.11850199e+00+6.23279470e-16j 3.73249939e+00-1.55859653e-15j\n",
      " 1.04537047e-14+1.40178762e+00j 1.50035414e+00+7.36404815e-16j\n",
      " 1.95830200e+00-6.97112914e-15j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.803448275862069\n",
      "687.5369484138745\n",
      "[0, 1, 4, 5, 6, 10, 11, 12, 16, 17, 20, 21, 24, 25, 28, 29, 32, 34, 36, 37, 38]\n",
      "21\n",
      "[ 23.45042113-0.j          23.178315  -0.j\n",
      " -23.45042113-0.j         -23.178315  +0.j\n",
      "  19.98576049-0.j          19.90552329-0.j\n",
      "  18.96132703+0.j         -19.98576049+0.j\n",
      " -19.90552329+0.j         -18.96132703+0.j\n",
      "  18.18547345+0.j          17.05574347-0.j\n",
      "  16.58250736+0.j         -18.18547345-0.j\n",
      " -17.05574347-0.j         -16.58250736-0.j\n",
      "  14.95028336+0.j          14.35412662-0.j\n",
      " -14.95028336-0.j         -14.35412662+0.j\n",
      "  12.73917354+0.j          12.24938752-0.j\n",
      " -12.73917354-0.j         -12.24938752-0.j\n",
      "  10.7551492 +0.j           9.31004409+0.j\n",
      " -10.7551492 -0.j          -9.31004409+0.j\n",
      "   7.69998886-0.j           7.2890358 +0.j\n",
      "  -7.69998886-0.j          -7.2890358 -0.j\n",
      "   5.31372239+0.j          -5.31372239-0.j\n",
      "   3.89288536+0.j          -3.89288536-0.j\n",
      "   2.16829811+0.j           1.58486653+0.j\n",
      "   0.        +1.37037307j   0.        -1.37037307j\n",
      "  -1.58486653+0.j          -2.16829811+0.j        ]\n",
      "[2.34504211e+01-5.39124397e-16j 2.31783150e+01-1.58679414e-16j\n",
      " 1.99857605e+01+8.53754352e-16j 1.99055233e+01+1.07763967e-15j\n",
      " 1.89613270e+01+9.53346203e-16j 1.81854734e+01+1.45495941e-15j\n",
      " 1.70557435e+01+4.63392908e-16j 1.65825074e+01-5.66805956e-16j\n",
      " 1.49502834e+01+1.23468586e-15j 1.43541266e+01-4.88247838e-16j\n",
      " 1.27391735e+01+1.26280140e-15j 1.22493875e+01-8.03579769e-16j\n",
      " 1.07551492e+01+1.83150912e-15j 9.31004409e+00-5.97313372e-16j\n",
      " 7.69998886e+00+2.04063835e-16j 7.28903580e+00-1.15388229e-15j\n",
      " 5.31372239e+00+8.43625855e-16j 3.89288536e+00+3.49360290e-15j\n",
      " 1.58486653e+00-2.86604118e-15j 2.16829811e+00-5.69737610e-15j\n",
      " 1.24535559e-15-1.37037307e+00j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.8655172413793102\n",
      "634.9781785771103\n",
      "[2, 3, 12, 13, 14, 15, 16, 17, 21, 22, 23, 24, 25, 27, 30, 31, 33, 35, 38, 40, 41]\n",
      "21\n",
      "[-24.25899249-0.j         -23.97756585+0.j\n",
      "  24.25899249-0.j          23.97756585-0.j\n",
      " -20.67536447-0.j         -20.59492557+0.j\n",
      " -19.62874907-0.j         -18.82853653-0.j\n",
      " -17.6452621 -0.j         -17.15588021-0.j\n",
      " -15.47761018+0.j         -14.85140518-0.j\n",
      "  20.67536447+0.j          20.59492557+0.j\n",
      "  19.62874907+0.j          18.82853653+0.j\n",
      "  17.6452621 -0.j          17.15588021-0.j\n",
      " -13.18184123+0.j         -12.69800668+0.j\n",
      " -11.13251129-0.j          15.47761018-0.j\n",
      "  14.85140518-0.j          13.18184123+0.j\n",
      "  12.69800668+0.j          11.13251129-0.j\n",
      "  -9.63869152-0.j           9.63869152+0.j\n",
      "  -8.00751271+0.j          -7.54621354-0.j\n",
      "   8.00751271-0.j           7.54621354-0.j\n",
      "  -5.50831117+0.j           5.50831117-0.j\n",
      "  -4.05391954-0.j           4.05391954-0.j\n",
      "  -2.36782952+0.j          -1.66768491+0.j\n",
      "  -0.        +1.34542783j  -0.        -1.34542783j\n",
      "   2.36782952-0.j           1.66768491-0.j        ]\n",
      "[2.42589925e+01+2.04424827e-16j 2.39775658e+01+2.77999510e-16j\n",
      " 2.06753645e+01-2.90426477e-16j 2.05949256e+01-2.14304171e-16j\n",
      " 1.96287491e+01+2.13003682e-15j 1.88285365e+01+1.96925429e-15j\n",
      " 1.76452621e+01+3.06922422e-16j 1.71558802e+01+4.53230573e-16j\n",
      " 1.54776102e+01+2.48737136e-16j 1.48514052e+01+4.09257255e-16j\n",
      " 1.31818412e+01+1.54328209e-15j 1.26980067e+01+1.40202183e-15j\n",
      " 1.11325113e+01+3.27709827e-17j 9.63869152e+00+2.96007659e-16j\n",
      " 8.00751271e+00-1.29247891e-15j 7.54621354e+00-2.99732863e-15j\n",
      " 5.50831117e+00+1.13457944e-16j 4.05391954e+00+1.13922253e-15j\n",
      " 1.66768491e+00+3.27377753e-17j 2.36782952e+00+5.23783135e-15j\n",
      " 2.24640665e-15-1.34542783e+00j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.9275862068965515\n",
      "620.1043061305704\n",
      "[0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 18, 19, 22, 23, 28, 29, 30, 34, 36, 37, 40]\n",
      "21\n",
      "[ 25.06751688-0.j          24.77676857-0.j\n",
      " -25.06751688+0.j         -24.77676857+0.j\n",
      "  21.28424896-0.j          21.36491313+0.j\n",
      "  20.29563376+0.j          19.47107099+0.j\n",
      "  18.23469919+0.j          17.72916966+0.j\n",
      "  16.00450182-0.j          15.34858957+0.j\n",
      " -21.36491313-0.j         -21.28424896-0.j\n",
      " -20.29563376+0.j         -19.47107099+0.j\n",
      " -18.23469919+0.j         -17.72916966-0.j\n",
      "  13.62436447-0.j          13.14580568+0.j\n",
      " -16.00450182-0.j         -15.34858957-0.j\n",
      "  11.50953761-0.j           9.96722428-0.j\n",
      " -13.62436447+0.j         -13.14580568-0.j\n",
      " -11.50953761+0.j          -9.96722428+0.j\n",
      "   8.31342095-0.j           7.80318713+0.j\n",
      "   5.7023576 -0.j          -8.31342095+0.j\n",
      "  -7.80318713+0.j          -5.7023576 +0.j\n",
      "   4.21555798+0.j          -4.21555798-0.j\n",
      "   2.55825432+0.j           1.74906764-0.j\n",
      "  -1.74906764-0.j          -2.55825432+0.j\n",
      "  -0.        +1.32529983j  -0.        -1.32529983j]\n",
      "[2.50675169e+01-1.44186712e-15j 2.47767686e+01-1.55108509e-15j\n",
      " 2.13649131e+01+4.29520654e-16j 2.12842490e+01+2.78925288e-15j\n",
      " 2.02956338e+01-6.45635347e-16j 1.94710710e+01+6.52538748e-16j\n",
      " 1.82346992e+01+7.91686109e-16j 1.77291697e+01+1.37602689e-15j\n",
      " 1.60045018e+01-5.36195503e-16j 1.53485896e+01-9.75285591e-16j\n",
      " 1.36243645e+01+4.34225368e-16j 1.31458057e+01-3.27770517e-17j\n",
      " 1.15095376e+01+1.45701339e-15j 9.96722428e+00-2.06560658e-16j\n",
      " 8.31342095e+00+2.16824190e-16j 7.80318713e+00-6.00799156e-16j\n",
      " 5.70235760e+00+2.93234688e-16j 4.21555798e+00-1.99477484e-15j\n",
      " 1.74906764e+00-3.09624286e-15j 2.55825432e+00+2.52473645e-15j\n",
      " 2.62765391e-15-1.32529983e+00j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 1.989655172413793\n",
      "660.7478679847566\n",
      "[0, 1, 4, 5, 6, 10, 11, 12, 16, 17, 23, 24, 25, 27, 30, 31, 33, 35, 38, 39, 41]\n",
      "21\n",
      "[ 25.8759987 +0.j          25.57592765+0.j\n",
      " -25.8759987 -0.j         -25.57592765-0.j\n",
      "  22.05441164+0.j          21.97349716+0.j\n",
      "  20.96203593-0.j         -22.05441164+0.j\n",
      " -21.97349716+0.j         -20.96203593+0.j\n",
      "  20.11312477+0.j          18.82406257+0.j\n",
      "  18.30238352-0.j         -20.11312477-0.j\n",
      " -18.82406257-0.j         -18.30238352+0.j\n",
      "  16.5310017 -0.j          15.84568807-0.j\n",
      " -16.5310017 -0.j         -15.84568807-0.j\n",
      " -14.06675792-0.j         -13.59285468+0.j\n",
      " -11.8862725 -0.j          14.06675792-0.j\n",
      "  13.59285468+0.j          11.8862725 +0.j\n",
      " -10.295647  +0.j          10.295647  +0.j\n",
      "  -8.61787879+0.j          -8.05997662-0.j\n",
      "   8.61787879+0.j           8.05997662-0.j\n",
      "  -5.89593397-0.j           5.89593397+0.j\n",
      "  -4.37774583+0.j           4.37774583-0.j\n",
      "  -2.74078557-0.j          -1.82921991+0.j\n",
      "   1.82921991+0.j           2.74078557-0.j\n",
      "  -0.        -1.30880879j   0.        +1.30880879j]\n",
      "[2.58759987e+01-1.51593781e-15j 2.55759276e+01-1.37093476e-15j\n",
      " 2.20544116e+01+1.57487886e-15j 2.19734972e+01-5.62617940e-16j\n",
      " 2.09620359e+01+1.05023784e-15j 2.01131248e+01+1.33724119e-16j\n",
      " 1.88240626e+01+1.29803691e-15j 1.83023835e+01+8.79010688e-16j\n",
      " 1.65310017e+01-2.72026549e-16j 1.58456881e+01-1.33689864e-15j\n",
      " 1.40667579e+01+9.75890987e-16j 1.35928547e+01+1.57218476e-15j\n",
      " 1.18862725e+01+1.56095681e-17j 1.02956470e+01+8.93544800e-16j\n",
      " 8.61787879e+00-5.12483515e-17j 8.05997662e+00-6.96424015e-17j\n",
      " 5.89593397e+00+4.77890347e-16j 4.37774583e+00-2.16548389e-15j\n",
      " 1.82921991e+00+7.88728996e-16j 2.74078557e+00+3.73200445e-15j\n",
      " 4.22581246e-15+1.30880879e+00j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 2.0517241379310343\n",
      "702.6794300385478\n",
      "[0, 1, 4, 5, 6, 7, 8, 9, 10, 11, 18, 19, 20, 26, 28, 29, 32, 34, 35, 36, 41]\n",
      "21\n",
      "[ 26.68444181+0.j          26.37504704-0.j\n",
      " -26.68444181+0.j         -26.37504704+0.j\n",
      "  22.74386452+0.j          22.66267381+0.j\n",
      "  21.62800328+0.j          20.75474026-0.j\n",
      "  19.4133591 +0.j          18.87552867+0.j\n",
      "  17.05714762-0.j          16.34270802-0.j\n",
      " -22.74386452-0.j         -22.66267381-0.j\n",
      " -21.62800328-0.j         -20.75474026+0.j\n",
      " -19.4133591 +0.j         -18.87552867-0.j\n",
      "  14.50903426+0.j          14.03921684+0.j\n",
      "  12.2627525 -0.j         -17.05714762+0.j\n",
      " -16.34270802+0.j         -14.50903426+0.j\n",
      " -14.03921684-0.j         -12.2627525 -0.j\n",
      "  10.62396401+0.j         -10.62396401-0.j\n",
      "   8.92103067+0.j           8.31659944+0.j\n",
      "  -8.92103067+0.j          -8.31659944-0.j\n",
      "   6.08909955+0.j          -6.08909955+0.j\n",
      "   4.54042128+0.j           2.9164751 +0.j\n",
      "   1.90830733+0.j          -4.54042128-0.j\n",
      "  -1.90830733-0.j          -2.9164751 -0.j\n",
      "   0.        -1.29510717j  -0.        +1.29510717j]\n",
      "[2.66844418e+01-3.12724352e-15j 2.63750470e+01-3.33098996e-15j\n",
      " 2.27438645e+01-4.67143322e-16j 2.26626738e+01+1.56009271e-15j\n",
      " 2.16280033e+01-2.20848487e-15j 2.07547403e+01+1.28581012e-15j\n",
      " 1.94133591e+01+1.57920266e-15j 1.88755287e+01+6.74736487e-16j\n",
      " 1.70571476e+01-7.26684951e-16j 1.63427080e+01+3.15489687e-16j\n",
      " 1.45090343e+01+1.24353539e-15j 1.40392168e+01+2.44406194e-16j\n",
      " 1.22627525e+01+9.79366129e-16j 1.06239640e+01+9.33147923e-16j\n",
      " 8.92103067e+00+1.70892074e-15j 8.31659944e+00-1.41021998e-15j\n",
      " 6.08909955e+00-1.48028744e-15j 4.54042128e+00+2.45032284e-15j\n",
      " 1.90830733e+00-4.21626025e-15j 2.91647510e+00-2.29850671e-15j\n",
      " 5.09446653e-15+1.29510717e+00j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 2.113793103448276\n",
      "745.8989922919429\n",
      "[2, 3, 12, 13, 14, 15, 16, 17, 21, 22, 23, 24, 25, 27, 30, 31, 33, 37, 38, 39, 40]\n",
      "21\n",
      "[-27.49284963-0.j         -27.17413022+0.j\n",
      "  27.49284963+0.j          27.17413022-0.j\n",
      " -23.43327579-0.j         -23.35178244+0.j\n",
      " -22.29357749+0.j         -21.39595506-0.j\n",
      " -20.00259479+0.j         -19.44861117+0.j\n",
      " -17.58297259-0.j         -16.83965594+0.j\n",
      "  23.43327579-0.j          23.35178244-0.j\n",
      "  22.29357749+0.j          21.39595506-0.j\n",
      "  20.00259479-0.j          19.44861117-0.j\n",
      " -14.95120455-0.j         -14.48494904-0.j\n",
      " -12.63900801+0.j          17.58297259-0.j\n",
      "  16.83965594-0.j          14.95120455-0.j\n",
      "  14.48494904+0.j          12.63900801+0.j\n",
      " -10.95217943-0.j          10.95217943-0.j\n",
      "  -9.22300318-0.j          -8.57307083+0.j\n",
      "   9.22300318-0.j           8.57307083+0.j\n",
      "  -6.28190353+0.j           6.28190353-0.j\n",
      "  -4.70351908-0.j          -3.0862231 +0.j\n",
      "  -1.9864654 +0.j           4.70351908+0.j\n",
      "   1.9864654 +0.j           3.0862231 +0.j\n",
      "  -0.        +1.28357906j   0.        -1.28357906j]\n",
      "[2.74928496e+01-6.51825091e-16j 2.71741302e+01-7.74449607e-16j\n",
      " 2.34332758e+01+1.74638562e-16j 2.33517824e+01+4.79189943e-16j\n",
      " 2.22935775e+01+1.78747107e-15j 2.13959551e+01+2.14112792e-15j\n",
      " 2.00025948e+01+6.49908045e-16j 1.94486112e+01+3.17671078e-16j\n",
      " 1.75829726e+01+9.05350074e-16j 1.68396559e+01+4.85664834e-16j\n",
      " 1.49512046e+01+9.22469032e-16j 1.44849490e+01+1.69594950e-15j\n",
      " 1.26390080e+01+1.40693342e-15j 1.09521794e+01+1.03533077e-15j\n",
      " 9.22300318e+00+1.16959379e-16j 8.57307083e+00+1.42583800e-15j\n",
      " 6.28190353e+00-3.57286538e-16j 4.70351908e+00+1.12880727e-15j\n",
      " 1.98646540e+00-1.98202214e-15j 3.08622310e+00-7.83162176e-16j\n",
      " 2.29389330e-15-1.28357906e+00j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 2.1758620689655173\n",
      "790.4065547449433\n",
      "[2, 3, 12, 13, 14, 15, 16, 17, 20, 21, 23, 24, 25, 27, 30, 31, 33, 37, 38, 39, 40]\n",
      "21\n",
      "[-28.30122518-0.j        -27.97318029+0.j         28.30122518-0.j\n",
      "  27.97318029-0.j        -24.04082645+0.j        -24.12264899-0.j\n",
      " -22.95879512-0.j        -22.03680264-0.j        -20.59177496+0.j\n",
      " -20.02163636+0.j        -18.10850563-0.j        -17.33653763+0.j\n",
      "  24.12264899+0.j         24.04082645+0.j         22.95879512-0.j\n",
      "  22.03680264-0.j         20.59177496+0.j         20.02163636+0.j\n",
      " -15.39327846-0.j        -14.93010244+0.j         18.10850563-0.j\n",
      "  17.33653763-0.j        -13.01506459-0.j         15.39327846+0.j\n",
      "  14.93010244+0.j         13.01506459+0.j        -11.28029718-0.j\n",
      "  11.28029718-0.j         -9.5239076 +0.j         -8.82940416+0.j\n",
      "   9.5239076 +0.j          8.82940416-0.j         -6.47438713+0.j\n",
      "   6.47438713+0.j         -4.86697341-0.j         -3.25079649+0.j\n",
      "  -2.06380631-0.j          4.86697341-0.j          2.06380631+0.j\n",
      "   3.25079649+0.j         -0.        +1.2737702j  -0.        -1.2737702j]\n",
      "[2.83012252e+01-1.17508750e-15j 2.79731803e+01-9.62104052e-16j\n",
      " 2.41226490e+01+1.51512238e-15j 2.40408264e+01-1.40936474e-15j\n",
      " 2.29587951e+01+1.74247317e-15j 2.20368026e+01+2.79362941e-16j\n",
      " 2.05917750e+01+1.79497281e-15j 2.00216364e+01+4.90810818e-16j\n",
      " 1.81085056e+01+3.06139344e-15j 1.73365376e+01+2.24424075e-15j\n",
      " 1.53932785e+01+9.51750611e-16j 1.49301024e+01-3.06746920e-16j\n",
      " 1.30150646e+01+2.13684375e-15j 1.12802972e+01-3.82342871e-16j\n",
      " 9.52390760e+00+4.98458543e-16j 8.82940416e+00+1.15319303e-15j\n",
      " 6.47438713e+00+7.92128348e-16j 4.86697341e+00-1.32369852e-15j\n",
      " 2.06380631e+00+1.03910404e-15j 3.25079649e+00+3.25179707e-15j\n",
      " 5.69816658e-16+1.27377020e+00j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 2.2379310344827585\n",
      "836.202117397547\n",
      "[0, 1, 4, 5, 6, 7, 8, 9, 14, 15, 18, 19, 22, 26, 28, 29, 32, 34, 35, 36, 41]\n",
      "21\n",
      "[ 29.10957115-0.j          28.77219998+0.j\n",
      " -29.10957115-0.j         -28.77219998-0.j\n",
      "  24.81198728+0.j          24.7298091 +0.j\n",
      "  23.62368837+0.j          22.67731288-0.j\n",
      "  21.18090431-0.j          20.594609  +0.j\n",
      " -24.81198728+0.j         -24.7298091 +0.j\n",
      " -23.62368837-0.j         -22.67731288-0.j\n",
      "  18.63377232+0.j          17.83335828+0.j\n",
      " -21.18090431-0.j         -20.594609  -0.j\n",
      "  15.8352645 +0.j          15.37472312-0.j\n",
      " -18.63377232-0.j         -17.83335828-0.j\n",
      "  13.39094389+0.j         -15.8352645 -0.j\n",
      " -15.37472312-0.j         -13.39094389-0.j\n",
      "  11.60832105+0.j         -11.60832105-0.j\n",
      "   9.82384204+0.j           9.08561123-0.j\n",
      "  -9.82384204+0.j          -9.08561123-0.j\n",
      "   6.66658521-0.j          -6.66658521+0.j\n",
      "   5.03072009+0.j           3.41084856+0.j\n",
      "   2.14042393-0.j          -5.03072009-0.j\n",
      "  -2.14042393+0.j          -3.41084856+0.j\n",
      "   0.        -1.26534041j  -0.        +1.26534041j]\n",
      "[2.91095711e+01+1.44171698e-15j 2.87722000e+01+1.56698508e-15j\n",
      " 2.48119873e+01-3.19118442e-16j 2.47298091e+01+1.28264434e-15j\n",
      " 2.36236884e+01-7.44515089e-16j 2.26773129e+01+1.54375924e-15j\n",
      " 2.11809043e+01+9.57965274e-16j 2.05946090e+01-4.32009216e-18j\n",
      " 1.86337723e+01+5.57194638e-16j 1.78333583e+01-8.85731102e-16j\n",
      " 1.58352645e+01+4.56052578e-16j 1.53747231e+01-1.94797198e-16j\n",
      " 1.33909439e+01+3.24346724e-15j 1.16083210e+01+6.87932192e-16j\n",
      " 9.82384204e+00+2.71036634e-15j 9.08561123e+00-5.90669976e-16j\n",
      " 6.66658521e+00-4.40447226e-15j 5.03072009e+00-3.27411163e-15j\n",
      " 2.14042393e+00-7.41122413e-15j 3.41084856e+00+3.57013980e-15j\n",
      " 2.55381447e-15+1.26534041e+00j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "wavelength: 2.3\n",
      "883.2856802497546\n",
      "[2, 3, 12, 13, 14, 15, 16, 17, 20, 21, 24, 25, 28, 29, 31, 32, 34, 37, 38, 39, 41]\n",
      "21\n",
      "[-29.91788993-0.j         -29.57119176-0.j\n",
      "  29.91788993-0.j          29.57119176-0.j\n",
      " -25.41873352-0.j         -25.50129348-0.j\n",
      " -24.28828569-0.j         -23.31751254-0.j\n",
      " -21.76998704+0.j         -21.16753334+0.j\n",
      " -19.1587953 -0.j         -18.33012258-0.j\n",
      "  25.50129348-0.j          25.41873352+0.j\n",
      "  24.28828569+0.j          23.31751254+0.j\n",
      "  21.76998704+0.j          21.16753334-0.j\n",
      " -16.27717018+0.j         -15.81885262+0.j\n",
      "  19.1587953 +0.j          18.33012258+0.j\n",
      " -13.76666441-0.j         -11.93625469+0.j\n",
      "  16.27717018-0.j          15.81885262+0.j\n",
      " -10.12289324+0.j          -9.34170252+0.j\n",
      "  13.76666441+0.j          11.93625469-0.j\n",
      "  -6.85852751-0.j          10.12289324+0.j\n",
      "   9.34170252+0.j          -5.19469823-0.j\n",
      "   6.85852751-0.j          -3.56693698+0.j\n",
      "  -2.21639759+0.j           5.19469823+0.j\n",
      "   2.21639759-0.j           3.56693698-0.j\n",
      "  -0.        -1.25803102j  -0.        +1.25803102j]\n",
      "[2.99178899e+01+1.34297448e-16j 2.95711918e+01+5.88208673e-16j\n",
      " 2.55012935e+01+4.32251496e-16j 2.54187335e+01+1.05192032e-15j\n",
      " 2.42882857e+01+1.51588980e-15j 2.33175125e+01+1.99162403e-15j\n",
      " 2.17699870e+01+3.76121288e-16j 2.11675333e+01-3.12657800e-16j\n",
      " 1.91587953e+01+2.44607545e-15j 1.83301226e+01+3.83930902e-17j\n",
      " 1.62771702e+01-1.13094464e-15j 1.58188526e+01-4.61810434e-16j\n",
      " 1.37666644e+01+5.44033274e-16j 1.19362547e+01+1.28891014e-15j\n",
      " 1.01228932e+01-7.59455037e-16j 9.34170252e+00+9.48215843e-16j\n",
      " 6.85852751e+00-5.25745431e-16j 5.19469823e+00+4.12480149e-15j\n",
      " 2.21639759e+00-1.70679758e-15j 3.56693698e+00-8.01658669e-15j\n",
      " 8.38597203e-15+1.25803102e+00j]\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 4 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## IMPORTANT TO NOTE: the indices for everything beyond this points are indexed from -num_ord to num_ord+1\n",
    "\n",
    "## alternate construction of 1D convolution matrix\n",
    "zeros = np.zeros((PQ, PQ))\n",
    "\n",
    "I = np.eye(2 * num_ord + 1)\n",
    "## simulation parameters\n",
    "theta = (0)*np.pi/180;\n",
    "spectra = list();\n",
    "spectra_T = list();\n",
    "\n",
    "wavelength_scan = np.linspace(0.5,2.3,30)\n",
    "## construct permittivity harmonic components E\n",
    "#fill factor = 0 is complete dielectric, 1 is air\n",
    "\n",
    "# E is now the convolution of fourier amplitudes\n",
    "for wvlen in wavelength_scan:\n",
    "    j = cmath.sqrt(-1);\n",
    "    lam0 = wvlen;     k0 = 2 * np.pi / lam0; #free space wavelength in SI units\n",
    "    print('wavelength: ' + str(wvlen));\n",
    "    ## =====================STRUCTURE======================##\n",
    "\n",
    "    ## Region I: reflected region (half space)\n",
    "    n1 = 1;#cmath.sqrt(-1)*1e-12; #apparently small complex perturbations are bad in Region 1, these shouldn't be necessary\n",
    "\n",
    "    ## Region 2; transmitted region\n",
    "    n2 = 1;\n",
    "\n",
    "    #from the kx_components given the indices and wvln\n",
    "    kx_array = k0*(n1*np.sin(theta) + indices*(lam0 / lattice_constant)); #0 is one of them, k0*lam0 = 2*pi\n",
    "    k_xi = kx_array;\n",
    "    ## IMPLEMENT SCALING: these are the fourier orders of the x-direction decomposition.\n",
    "    KX = np.diag((k_xi/k0)); #singular since we have a n=0, m= 0 order and incidence is normal\n",
    "\n",
    "    ## construct matrix of Gamma^2 ('constant' term in ODE):\n",
    "    B = (KX@bslash(E, KX) - I); #conditioning of this matrix is not bad, A SHOULD BE SYMMETRIC\n",
    "\n",
    "    AO = np.block([[zeros, np.linalg.inv(E_conv_inv)],[B, zeros]])\n",
    "    beigenvals, bigW = LA.eig(AO);\n",
    "    print(np.linalg.cond(AO))\n",
    "#     print('conditioning of big block: '+str(np.linalg.cond(AO)))\n",
    "    #try rounding...\n",
    "    rounded_beigenvals = np.array([round(i,10) for i in beigenvals])\n",
    "    #print(rounded_beigenvals)\n",
    "#     quadrant_sort = [1 if np.real(i)>=0 and np.imag(i)>=0 else 0 for i in rounded_beigenvals];\n",
    "#     sorted_indices = np.nonzero(quadrant_sort)[0]\n",
    "#     print(len(sorted_indices))\n",
    "    sorted_eigs, sorted_indices =nonHermitianEigenSorter(rounded_beigenvals)\n",
    "    print(sorted_indices)\n",
    "    print(len(sorted_indices))\n",
    "    sorted_eigenmodes = bigW[:,sorted_indices];\n",
    "    #print(sorted_eigenmodes)\n",
    "    #adding real and imaginary parts seems to work...\n",
    "    sorted_eigenvals = beigenvals[sorted_indices]\n",
    "    \n",
    "    \n",
    "    Wp = sorted_eigenmodes[0:PQ:,0:PQ]\n",
    "    eigenvals_wp = (sorted_eigenvals[0:PQ]);    \n",
    "\n",
    "    eigenvals, W = LA.eig(np.linalg.inv(E_conv_inv)@B);\n",
    "    print(rounded_beigenvals)\n",
    "    #print('big: '+str(eigenvals_wp))\n",
    "    print(np.sqrt(eigenvals))\n",
    "    W = Wp;\n",
    "    #we should be gauranteed that all eigenvals are REAL\n",
    "    #eigenvals = eigenvals.astype('complex');\n",
    "    Q = np.diag(eigenvals_wp); #Q should only be positive square root of eigenvals\n",
    "    #Q = np.diag(np.sqrt(eigenvals))\n",
    "    V = E_conv_inv@(W@Q); #H modes\n",
    "\n",
    "    plt.subplot(141)\n",
    "    plt.plot(np.real(beigenvals), np.imag(beigenvals), '.'); plt.title('1st'); plt.ylim([-4,4])\n",
    "    plt.subplot(142)\n",
    "    plt.plot(np.real(eigenvals_wp), (np.imag(eigenvals_wp)), '.r', markersize = 10)\n",
    "    plt.plot(np.real(np.sqrt(eigenvals)), (np.imag(np.sqrt(eigenvals))), '.g', markersize = 5)\n",
    "\n",
    "    plt.ylim([-4,4])\n",
    "    plt.subplot(143);\n",
    "    plt.plot(np.real(beigenvals**2), np.imag(beigenvals**2), 'x');\n",
    "    plt.plot(np.real(eigenvals), np.imag(eigenvals), '.'); plt.title('2nd')\n",
    "\n",
    "    plt.ylim([-4,4])\n",
    "    plt.subplot(144)\n",
    "    plt.plot(np.real(np.sqrt(beigenvals**2)), np.imag(np.sqrt(beigenvals**2)), 'x');\n",
    "\n",
    "    plt.plot(np.real(np.sqrt(eigenvals)), np.imag(np.sqrt(eigenvals)), '.g'); plt.title('sqrt 2nd')\n",
    "    plt.ylim([-4,4])\n",
    "    plt.show();\n",
    "    \n",
    "    ## this is the great typo which has killed us all this time\n",
    "    X = np.diag(np.exp(-k0*np.diag(Q)*d)); #this is poorly conditioned because exponentiation\n",
    "    ## pointwise exponentiation vs exponentiating a matrix\n",
    "\n",
    "    ## observation: almost everything beyond this point is worse conditioned\n",
    "    k_I = k0**2*(n1**2 - (k_xi/k0)**2);                 #k_z in reflected region k_I,zi\n",
    "    k_II = k0**2*(n2**2 - (k_xi/k0)**2);   #k_z in transmitted region\n",
    "    k_I = k_I.astype('complex'); k_I = np.sqrt(k_I);\n",
    "    k_II = k_II.astype('complex'); k_II = np.sqrt(k_II);\n",
    "    Z_I = np.diag(k_I / (n1**2 * k0 ));\n",
    "    Z_II = np.diag(k_II /(n2**2 * k0));\n",
    "    delta_i0 = np.zeros((len(kx_array),1));\n",
    "    delta_i0[num_ord] = 1;\n",
    "    n_delta_i0 = delta_i0*j*np.cos(theta)/n1;\n",
    "\n",
    "    ## design auxiliary variables: SEE derivation in notebooks: RCWA_note.ipynb\n",
    "    # we want to design the computation to avoid operating with X, particularly with inverses\n",
    "    # since X is the worst conditioned thing\n",
    "\n",
    "    O = np.block([\n",
    "        [W, W],\n",
    "        [V,-V]\n",
    "    ]); #this is much better conditioned than S..\n",
    "    f = I;\n",
    "    g = j * Z_II; #all matrices\n",
    "    fg = np.concatenate((f,g),axis = 0)\n",
    "    ab = np.matmul(np.linalg.inv(O),fg);\n",
    "    a = ab[0:PQ,:];\n",
    "    b = ab[PQ:,:];\n",
    "\n",
    "    term = X @ a @ np.linalg.inv(b) @ X;\n",
    "    f = W @ (I+term);\n",
    "    g = V@(-I+term);\n",
    "    T = np.linalg.inv(np.matmul(j*Z_I, f) + g);\n",
    "    T = np.dot(T, (np.dot(j*Z_I, delta_i0) + n_delta_i0));\n",
    "    R = np.dot(f,T)-delta_i0; #shouldn't change\n",
    "    T = np.dot(np.matmul(np.linalg.inv(b),X),T)\n",
    "\n",
    "    ## calculate diffraction efficiencies\n",
    "    #I would expect this number to be real...\n",
    "    DE_ri = R*np.conj(R)*np.real(np.expand_dims(k_I,1))/(k0*n1*np.cos(theta));\n",
    "    DE_ti = T*np.conj(T)*np.real(np.expand_dims(k_II,1)/n2**2)/(k0*np.cos(theta)/n1);\n",
    "\n",
    "    #print(np.sum(DE_ri))\n",
    "    spectra.append(np.sum(DE_ri)); #spectra_T.append(T);\n",
    "    spectra_T.append(np.sum(DE_ti))\n",
    "\n",
    "\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 79,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "spectra = np.array(spectra);\n",
    "spectra_T = np.array(spectra_T)\n",
    "plt.figure();\n",
    "plt.plot(wavelength_scan, spectra);\n",
    "plt.plot(wavelength_scan, spectra_T)\n",
    "plt.plot(wavelength_scan, spectra+spectra_T)\n",
    "# plt.legend(['reflection', 'transmission'])\n",
    "# plt.axhline(((3.48-1)/(3.48+1))**2,xmin=0, xmax = max(wavelength_scan))\n",
    "# plt.axhline(((3.48-1)/(3.48+1)),xmin=0, xmax = max(wavelength_scan), color='r')\n",
    "#\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 80,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[<matplotlib.lines.Line2D at 0x1c0ce5c7e10>]"
      ]
     },
     "execution_count": 80,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(spectra)\n",
    "plt.plot(spectra_T)\n",
    "plt.plot(np.array(spectra)+np.array(spectra_T))\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
